1

我创建了一个广播服务器,它一次必须有 10 个客户端。它必须能够一次从 10 个客户端读取数据并通过Broadcast Message to all the Clients. 为了使这种沟通更快,我决定让two Separate Threads at Server Side.

一个 Thread1 将专用于连续接收数据并将数据放入队列中。然后这个数据被另一个 Thread2 从队列中读取并完成处理。

即队列必须在Thread1 和Thread2 之间共享。

我怎样才能有效地做到这一点?这两个线程之间如何共享队列?

如果 Thread1 在同一个队列中写入而 Thread2 正在读取呢?

任何帮助将不胜感激。

4

1 回答 1

0

主要思想是“消费者”等到一些数据可用,而“生产者”在数据可用时通知。这可以使用条件变量简单有效地完成。看看这篇文章——作者实现了这样一个队列,每一步都附有详细的解释。

于 2013-04-30T12:43:04.227 回答