Golang 版本时间轮定时器

2017-06-08 23:11:23 +08:00
 orderc

项目地址


package main

import (
    "github.com/ouqiang/timewheel"
    "time"
    "fmt"
)

func main()  {
    // tick 刻度为 1 秒, 3600 个槽, 执行的 job
    tw := timewheel.New(1 * time.Second, 3600, func(data []interface{}) {
        fmt.Println(data)
        // do something
    })
    tw.Start()
    tw.Add(5 * time.Second, []interface{}{1})
    tw.Add(10 * time.Minute, []interface{}{2})
    tw.Add(35 * time.Hour, []interface{}{3})
    // 停止
    tw.Stop()
}
2986 次点击
所在节点    分享创造
2 条回复
timothyye
2017-06-10 12:58:36 +08:00
刻度和槽是什么意思?
orderc
2017-06-10 13:15:17 +08:00
@timothyye 手机上回复不方便,参考这篇文章,http://m.blog.csdn.net/article/details?id=52420300

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/367091

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX