我现在有一个项目,需要用户在不同状态下有不同的 $gateway->pingInterval的值. 但是我没有找到$gateway->pingInterval 这个值动态修改的方法. 所以只能通过定时器模拟,这时需要频繁的添加和删除定时器. 这种操作对系统稳定性和效率会不会产生较大影响?
可以开一个每秒一次的计时器,使用时间轮来管理任务
严重同意
能否写一个简易代码参考一下.您意思是每秒遍历一次用户表来判定用户是否超时掉线吗?
https://www.jianshu.com/p/0f0fec47a0ad 需求不同实现程度不同,看看博客里的思路吧
workman 中 Timer 是使用时间轮这种算法吗?
@6515:你不问我还真没去了解过,事件模型里用到了优先级队列,不是单纯的轮询,效率还是可以接受的。数量非常大的情况下,时间轮估计要好一些
好的 谢谢大神~~
可以开一个每秒一次的计时器,使用时间轮来管理任务
严重同意
能否写一个简易代码参考一下.您意思是每秒遍历一次用户表来判定用户是否超时掉线吗?
https://www.jianshu.com/p/0f0fec47a0ad 需求不同实现程度不同,看看博客里的思路吧
workman 中 Timer 是使用时间轮这种算法吗?
@6515:你不问我还真没去了解过,事件模型里用到了优先级队列,不是单纯的轮询,效率还是可以接受的。数量非常大的情况下,时间轮估计要好一些
好的 谢谢大神~~