goTimeWheel icon indicating copy to clipboard operation
goTimeWheel copied to clipboard

Timer Implemented By Go,Also Called TimeWheel

goTimeWheel

Build Status codecov GoDoc

TimeWheel Implemented By Go. Go 实现的时间轮,俗称定时器 Link

goTimeWheel

Feature

  • Effective at Space Usage
  • Each Timer Can Custom Its Task

Installation

go get github.com/zheng-ji/goTimeWheel

Example

import (
    "fmt"
    "github.com/zheng-ji/goTimeWheel"
)

func main() {
    // timer ticker
    tw := goTimeWheel.New(1*time.Second, 3600)
    tw.Start()

    // "ID1" means the timer's name
    // Specify a function and params, it will run after 3s later
    name := "ID1"
    params := map[string]int{"age": 1}
    fn := func(data interface{}) {
        fmt.Printf("hello, %v\n", data)
    }
    tw.AddTimer(3*time.Second, name, fn, params)

    // Your Logic Code
    select{}

}

License

Copyright (c) 2019 by zheng-ji released under MIT License.