我的情况如下:人们连接到我的服务器,我的服务器确实存储了有关连接的用户的一些信息。对于每个连接的用户,我必须在不同的时间处理3个事件。所以我想到如何处理这是一个好方法。我有两种不同的方法。
哪种方式做得更好?有一般方法如何处理这样的场景?
答案 0 :(得分:3)
有没有理由认为节点不能很好地处理定时器?绝对你的第一种方法应该是#1 - 为每个事件使用一个计时器。
如果由于某种原因无法使用,那么请使用一堆计时器。堆的根始终是最近的到期计时器,当它到期时,你通过堆,处理所有过期的计时器(可能超过1),然后设置一个计时器到下一个到期时间。