我現(xiàn)在有一個(gè)項(xiàng)目,需要用戶在不同狀態(tài)下有不同的 $gateway->pingInterval的值. 但是我沒(méi)有找到$gateway->pingInterval 這個(gè)值動(dòng)態(tài)修改的方法. 所以只能通過(guò)定時(shí)器模擬,這時(shí)需要頻繁的添加和刪除定時(shí)器. 這種操作對(duì)系統(tǒng)穩(wěn)定性和效率會(huì)不會(huì)產(chǎn)生較大影響?
可以開(kāi)一個(gè)每秒一次的計(jì)時(shí)器,使用時(shí)間輪來(lái)管理任務(wù)
嚴(yán)重同意
能否寫一個(gè)簡(jiǎn)易代碼參考一下.您意思是每秒遍歷一次用戶表來(lái)判定用戶是否超時(shí)掉線嗎?
https://www.jianshu.com/p/0f0fec47a0ad 需求不同實(shí)現(xiàn)程度不同,看看博客里的思路吧
workman 中 Timer 是使用時(shí)間輪這種算法嗎?
@6515:你不問(wèn)我還真沒(méi)去了解過(guò),事件模型里用到了優(yōu)先級(jí)隊(duì)列,不是單純的輪詢,效率還是可以接受的。數(shù)量非常大的情況下,時(shí)間輪估計(jì)要好一些
好的 謝謝大神~~