基本介绍
gtimer
是一个并发安全的高性能定时器,类似于 Java
的 Timer
。 gtimer
底层采用了 优先级队列( PriorityQueue
)实现。
使用场景:
任何定时任务场景,大批量定时任务/延迟任务的场景,超时控制/频率控制的业务场景,对于定时时间准确度要求不高的业务场景。
使用方式:
import "github.com/gogf/gf/v2/os/gtimer"
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/os/gtimer
简要说明:
New
方法用于创建自定义的任务定时器对象,并可在创建时TimerOptions
传入参数,其中:Interval
指定定时器的最小tick
时间间隔。Quick
指定定时器是否启动时就执行一次(默认为false
)。
Add
方法用于添加定时任务,其中:interval
参数用于指定方法的执行的时间间隔。job
参数为需要执行的任务方法。
AddEntry
方法添加定时任务,支持更多参数的控制。AddSingleton
方法用于添加 单例 定时任务,即 同时只能有一个该任务正在运行。AddOnce
方法用于添加只运行一次的定时任务,当运行一次数后该定时任务自动销毁。AddTimes
方法用于添加运行指定次数的定时任务,当运行times
次数后该定时任务自动销毁。Search
方法用于根据名称进行定时任务搜索(返回定时任务*Entry
对象指针)。Start
方法用于启动定时器(使用New
创建定时器时会自动启动)。Stop
方法用于停止定时器。Close
方法用于关闭定时器。