国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Workerman多進程下如何刪除或銷毀定時器Timer?

horkooo

簡單介紹一下,我用Workerman開了4個進程來處理不同的定時任務(wù)。在4個進程中對應(yīng)4個不同的timer_id。

我已經(jīng)知道在當前進程中可以使用Timer::del()來刪除定時器。

我的問題有兩個:

一、如果Workerman停止了運行,各個進程的定時器是不是默認就被清除了,需不需要在代碼中主動清除?比如寫一個onWorkerStop的回調(diào)清除定時器。

二、如何在其他閉包函數(shù)中,進入指定的進程操作數(shù)據(jù)?比如onWorkerStart開了4個進程,在onWorkerStop時進入1號進程操作數(shù)據(jù)。

官方文檔看的不是很懂,希望知道的朋友麻煩解答一下我的困惑。謝謝!

3733 1 1
1個回答

xiuwang

進程沒了這個進程里的所有東西就都沒了吧,包括定時器也肯定沒了的,所以進程停止的時候不用清理定時器。

不能跨進程直接操作數(shù)據(jù),都是進程間通訊來操作。比如A進程想操作B進程的變量,只能A進程通過某種方式通知B進程,B進程再自己去操作。 https://github.com/walkor/global-timer 你看下源碼,用的是channel來進程間通訊刪除定時器的

  • horkooo 2021-07-06

    非常感謝您的解答,懂了

年代過于久遠,無法發(fā)表回答
??