gtimer是一个并发安全的高性能定时器,类似于Java的Timer。gtimer组件旧版本采用的是分层时间轮(Hierarchical Timing Wheel)设计,从GOframe v1.16版本开始,采用了优先级队列(PriorityQueue)实现。

创新互联建站是一家集网站建设,上街企业网站建设,上街品牌网站建设,网站定制,上街网站建设报价,网络营销,网络优化,上街网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
使用场景:
任何定时任务场景,大批量定时任务/延迟任务的场景,超时控制/频率控制的业务场景,对于定时时间准确度要求不高的业务场景。
注意事项:
使用方式:
import "github.com/gogf/gf/v2/os/gtimer"接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/os/gtimer
简要说明:
New方法用于创建自定义的任务定时器对象,并可在创建时通过interval的TimerOptions参数指定定时器的最小tick时间间隔。Add方法用于添加定时任务,其中:interval 参数用于指定方法的执行的时间间隔。job 参数为需要执行的任务方法。AddEntry方法添加定时任务,支持更多参数的控制。AddSingleton方法用于添加单例定时任务,即同时只能有一个该任务正在运行。AddOnce方法用于添加只运行一次的定时任务,当运行一次数后该定时任务自动销毁。AddTimes方法用于添加运行指定次数的定时任务,当运行times次数后该定时任务自动销毁。Search方法用于根据名称进行定时任务搜索(返回定时任务*Entry对象指针)。Start方法用于启动定时器(使用New创建定时器时会自动启动)。Stop方法用于停止定时器。Close方法用于关闭定时器。大部分的场景下使用默认的定时器即可。使用gtimer的默认定时器时,默认的间隔时间为100ms,因此理论的时间间隔误差范围为0~100ms。可以使用以下两种方式修改默认的定时器参数:
gf.gtimer.interval=50: 修改默认的时间刻度为50毫秒GF_GTIMER_INTERVAL=50