Skynet:timer线程
Skynet:timer线程
-
timer数据结构:skynet_timer.c
-
创建timer线程:create_thread(&pid[1], _timer, m)
-
线程函数:更新skynet时钟,2.5毫秒更新一次
-
更新逻辑:skynet_timer.c
更新时间,计算diff的差值,更新current_point,调用timer_update执行真正的timer处理 -
timer_execute触发定时器,向对应的服务发送消息,完成定时器的逻辑,定时器精确到10毫秒
-
timer_shift调整timer node优先级
-
添加定时器:
最终调用到skynet_timer.c中的skynet_timeout函数 -
添加timer node:根据时间的大小,添加到near数组或level数组