29 lines
580 B
Go
29 lines
580 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
runtime.GOMAXPROCS(1) // 模拟调度压力
|
|
|
|
// 10ms 后到期的定时器
|
|
timer := time.AfterFunc(10*time.Millisecond, func() {
|
|
fmt.Println("定时器回调执行:sysmon 兜底触发")
|
|
})
|
|
defer timer.Stop()
|
|
|
|
// 长耗时任务阻塞调度器
|
|
start := time.Now()
|
|
counter := 0
|
|
for time.Since(start) < 50*time.Millisecond {
|
|
counter++
|
|
}
|
|
fmt.Printf("长耗时任务结束,累计计数:%d\n", counter)
|
|
|
|
time.Sleep(5 * time.Millisecond)
|
|
fmt.Println("验证完成:定时器回调精准执行")
|
|
}
|