目录
10. 高级场景:Timer与Ticker在消息队列中的应用
11.1 优先选择time.After和context.WithTimeout
1. 时间之门的钥匙:Timer与Ticker的本质
在Go语言中,time.Timer和time.Ticker是time包的核心组件,分别用于处理一次性时间事件和周期性时间事件。它们就像时间管理的两把利刃,精准而优雅。
-
Timer:就像一个一次性闹钟,设定一个时间点后,它会在到达时“响铃”(触发事件)。适合处理超时、延迟任务等场景。比如,限制API请求的响应时间,或者在游戏中给玩家一个倒计时。
-
Ticker:好比一个永不停歇的节拍器,按固定间隔“滴答”触发事件。适合需要周期性执行的任务,比如定时刷新数据、监控系统状态。
核心区