标签: multithreading queue message multiplayer
我正在服务器上进行多人游戏。 每个客户端都包含一个并发队列和一个运行该队列的线程,并发送存储的消息
每当我想向某些客户端发送消息时,我只是通过客户端集合运行以找到正确的消息,然后将该消息添加到队列中。
为了减少垃圾收集器的压力,我为邮件实现了一个回收系统,所以无论何时你调用message.Recycle()它都会被发送到一个池中。
问题在于我不知道所有客户是否已经处理过该消息。如果邮件尚未处理,则将邮件发送到游戏池是不安全的。
我如何知道所有客户是否已处理该邮件,并且可以安全回收?