golang 时间轮_窗口时间

golang 时间轮_窗口时间timewheelGolang实现的时间轮,项目地址安装goget-ugithub.com/ouqiang/timewheel使用packagemainimport(“github.com/ouqiang/timewheel””time””fmt”)funcmain(){//tick刻度为1秒,3600个槽,执行的jobtw

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

timewheel

Golang实现的时间轮 项目地址

时间轮

原理

延迟消息的实现

安装

go get -u github.com/ouqiang/timewheel

使用

package main

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

func main()  {
    // 初始化时间轮
    // 第一个参数为tick刻度, 即时间轮多久转动一次
    // 第二个参数为时间轮槽slot数量
    // 第三个参数为回调函数
    tw := timewheel.New(1 * time.Second, 3600, func(data timewheel.TaskData) {
        // do something
    })

    // 启动时间轮
    tw.Start()

    // 添加定时器 
    // 第一个参数为延迟时间
    // 第二个参数为定时器唯一标识, 删除定时器需传递此参数
    // 第三个参数为用户自定义数据, 此参数将会传递给回调函数, 类型为map[interface{}] interface{}
    tw.AddTimer(5 * time.Second, conn, timewheel.TaskData{
  
  "uid" : 105626})

    // 删除定时器, 参数为添加定时器传递的唯一标识
    tw.RemoveTimer(conn)

    // 停止时间轮
    tw.Stop()

    select{}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189109.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringMVC框架介绍[通俗易懂]

    SpringMVC框架介绍[通俗易懂]史上最全最强SpringMVC详细示例实战教程SpringMVC学习笔记—-一、SpringMVC基础入门,创建一个HelloWorld程序1.首先,导入SpringMVC需要的jar包。2.添加Web.xml配置文件中关于SpringMVC的配置springmvcorg.springframework.web.servlet.Dispatche…

    2022年6月7日
    32
  • 微商代理分销系统

    微商代理分销系统微云基石微商代理分销系统TM(简称:微商代理分销系统TM),是所有微商分销系统中第一个采用二级无限分销模式的系统,两级分销比例由商家设定,系统自动记录追踪用户IP并管理成为分销商的前后层级。移动互联网的泛传播性很强,记录追踪用户的分销可以帮助商家梳理信息、制定市场营销策略及着重发展哪些分销商。《2014年中国商铺用户微信运营调研报告》中显示,45.7%的中小商家表示看好微商运营,39.1%

    2022年5月13日
    56
  • dao层和service层和control代码(Java简述抽象类和接口的区别)

    DAO层:DAO层叫数据访问层,全称为dataaccessobject,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。Service层:Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不…

    2022年4月18日
    58
  • 金士顿u盘提示这张磁盘有写保护_金士顿u盘量产工具怎么使用

    金士顿u盘提示这张磁盘有写保护_金士顿u盘量产工具怎么使用2019独角兽企业重金招聘Python工程师标准>>>…

    2022年9月9日
    0
  • Java 8中的::(双冒号)运算符

    Java 8中的::(双冒号)运算符IwasexploringtheJava8sourceandfoundthisparticularpartofcodeverysurprising:我正在探索Java

    2022年7月7日
    23
  • Flash动画制作实例教程

    Flash动画制作实例教程1、该资料见网址:http://www.webjx.com/htmldata/2007-07-26/1185439125.html2、http://www.enet.com.cn/eschool/includes/zhuanti/flash1130/3、http://www.webjx.com/htmldata/2007-10-04/119151291…

    2022年4月30日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号