golang 时间轮 timewheel

timewheel

golang代码的实现 https://github.com/nosixtools/timewheel

       之前看过几篇文章讲解timewheel的,没有具体使用过,最近工作上遇到一个需求需要周期性的同步数据给第三方,周期是不固定,正好想到用这个东西来搞一搞(使用for循环感觉太low),顺便学习下。

这是timewheel的讲解的博客,写的很不错,看干货之前可以先补充下理论知识,O(∩_∩)O哈哈~

https://www.cnblogs.com/zhongwencool/p/timing_wheel.html

对时间轮的需求有以下几点

  1、支持多种任务回调

  2、任务执行次数可配置

  3、任务可更新

单轮多圈机制的timewheel的实现  https://github.com/nosixtools/timewheel

这是使用的例子,可以在添加任务的时候 指定回调函数,并可以指定任务的执行方式(周期执行或者指定次数执行)

代码例子

尝试去做了多轮的实现,轮之前的切换成本感觉有点高,如果您有多轮需求,可以使用我的轮子,自己实例化多个不同时间周期的轮子就行了,欢迎批评指正!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容