Run 启动定时器,用一个go承载
()
| 73 | |
| 74 | // Run 启动定时器,用一个go承载 |
| 75 | func (t *Timer) Run() { |
| 76 | go func() { |
| 77 | now := UnixMilli() |
| 78 | //设置的定时器是否在当前时间之后 |
| 79 | if t.unixts > now { |
| 80 | //睡眠,直至时间超时,已微秒为单位进行睡眠 |
| 81 | time.Sleep(time.Duration(t.unixts-now) * time.Millisecond) |
| 82 | } |
| 83 | |
| 84 | //调用事先注册好的超时延迟方法 |
| 85 | t.delayFunc.Call() |
| 86 | }() |
| 87 | } |