NewAutoExecTimerScheduler 时间轮定时器 自动调度
()
| 118 | |
| 119 | // NewAutoExecTimerScheduler 时间轮定时器 自动调度 |
| 120 | func NewAutoExecTimerScheduler() *TimerScheduler { |
| 121 | //创建一个调度器 |
| 122 | autoExecScheduler := NewTimerScheduler() |
| 123 | //启动调度器 |
| 124 | autoExecScheduler.Start() |
| 125 | |
| 126 | //永久从调度器中获取超时 触发的函数 并执行 |
| 127 | go func() { |
| 128 | delayFuncChan := autoExecScheduler.GetTriggerChan() |
| 129 | for df := range delayFuncChan { |
| 130 | go df.Call() |
| 131 | } |
| 132 | }() |
| 133 | |
| 134 | return autoExecScheduler |
| 135 | } |