Timer定时执行逻辑,会导致主进程阻塞吗?

sszxcss

1:Timer定时执行逻辑,会导致主进程阻塞吗?
2:如果1000个定时器定时分别执行逻辑,会导致主进程阻塞吗?
3:战斗房间的回合结果计算,我想用Timer驱动,是否会有隐患?

4639 1 0
1个回答

walkor

workerman主进程不处理业务逻辑,无法添加定时器。
 
处理业务的都是子进程。如果定时器里有运行阻塞代码是会阻塞当前进程的,阻塞时间取决于阻塞代码执行时间。
定时器注意事项参考手册 http://doc.workerman.net/timer/notice.html
 
可以用Timer来驱动

  • sszxcss 2019-06-17

    我使用的是GatewayWorker,设置一个bussinessWorker进程数量为1,在Events.onWorkerStart里new一个静态变量类,这静态变量类一个Timer就是一个战斗房间,定时计算获得结果格子推送给客户端。这样即使是1000个房间(timer),应该都不会导致Events.onMessage被阻塞吧?

  • walkor 2019-06-17

    根据上面说的是否阻塞取决于业务代码

  • walkor 2019-06-17

    比如定时器里访问mysql等就会阻塞

  • walkor 2019-06-17

    如果只是纯内存计算就不会阻塞

  • sszxcss 2019-06-17

    @1:好的。纯粹内存计算。

年代过于久远,无法发表回答
🔝