MCPcopy
hub / github.com/aceld/zinx / Run

Method Run

ztimer/timer.go:75–87  ·  view source on GitHub ↗

Run 启动定时器,用一个go承载

()

Source from the content-addressed store, hash-verified

73
74// Run 启动定时器,用一个go承载
75func (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}

Callers 2

TestMainFunction · 0.45
TestTimerFunction · 0.45

Calls 2

UnixMilliFunction · 0.85
CallMethod · 0.65

Tested by 2

TestMainFunction · 0.36
TestTimerFunction · 0.36