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)
上一篇 2026年4月14日 下午5:28
下一篇 2026年4月14日 下午5:34


相关推荐

  • AndroidTv Home界面实现原理(一)——Leanback 库的使用[通俗易懂]

    AndroidTv Home界面实现原理(一)——Leanback 库的使用[通俗易懂]本篇文章已授权微信公众号dasu_Android(大苏)独家发布接下去应该是梳理一下AndroidTv主界面实现原理及解析的一个系列博客了,大体上的安排是先介绍Google官方提供的L

    2022年7月1日
    24
  • httpwatch初级使用[通俗易懂]

    httpwatch初级使用[通俗易懂]一 概述:HttpWatch强大的网页数据分析工具.集成在InternetExplorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出 HttpWatch 是一款能够收集并显示页页深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE

    2025年7月21日
    6
  • linux 添加环境变量 $PATH_linuxfor循环执行命令

    linux 添加环境变量 $PATH_linuxfor循环执行命令1.打开编辑文件2.添加环境变量,保存3.source文件

    2025年7月23日
    8
  • 我的世界java指令_我的世界java在哪下载

    我的世界java指令_我的世界java在哪下载Minecraft地图上的x,y和z坐标。以俯视的视角展示了X和Z轴的图像。红色高亮表示与标准不同的轴。坐标(coordinates)在数字上反映了玩家在世界中的位置。坐标基于一个由互相垂直且交于一点(即原点)的三条坐标轴形成的网格,即一个空间直角坐标系。x轴的正方向为东,其坐标反映了玩家距离原点在东(+)西(-)方向上的距离。z轴的正方向为南,其坐标反映了玩家距离原点在南(+)北(-)…

    2026年2月26日
    4
  • 解决问题:jar中没有主清单属性「建议收藏」

    解决问题:jar中没有主清单属性「建议收藏」pom.xml文件中添加:<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configurat

    2025年9月12日
    9
  • libxml2 c教程_linux怎么用gcc编译

    libxml2 c教程_linux怎么用gcc编译我的开发环境是ubuntu18嵌入式的环境也是ubuntu,只需要执行下面的动作即可虚拟机上执行,设备上也执行apt-getinstalllibxml2apt-getinstalllibxml2-dev虚拟机上建立连接sudoln-s/usr/include/libxml2/libxml/usr/include/libxml开发的时候引入”x…

    2025年5月24日
    4

发表回复

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

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