重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Golang 定时器Timer 与Ticker的使用方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为汉源企业提供专业的成都网站建设、网站制作,汉源网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。定时器是什么
Golang 原生 time 包下可以用来执行一些定时任务或者是周期性的任务的一个工具
本文基于 Go 1.14,如果以下文章有哪里不对或者问题的地方,欢迎讨论学习
定时器的日常使用
Timer 相关
func NewTimer(d Duration) *Timer func (t *Timer) Reset(d Duration) bool func (t *Timer) Stop() bool func After(d Duration) <-chan Time func AfterFunc(d Duration, f func()) *Timer func main() { timer := time.NewTimer(3 * time.Second) select { case <-timer.C: fmt.Println("3秒执行任务") } timer.Stop() // 这里来提高 timer 的回收 } func main() { tChannel := time.After(3 * time.Second) // 其内部其实是生成了一个 timer select { case <-tChannel: fmt.Println("3秒执行任务") } } func main() { timer := time.NewTimer(3 * time.Second) for { timer.Reset(4 * time.Second) // 这样来复用 timer 和修改执行时间 select { case <-timer.C: fmt.Println("每隔4秒执行任务") } } }