提升线程间通信队列

时间:2013-04-22 17:49:02

标签: c++ boost parallel-processing ipc

我正在使用Boost :: interprocess :: message_queue来启用应用程序上的线程之间的通信。我这样做有两个原因。首先,因为我不需要直接实现共享内存。同步机制和第二,因为我想以这种方式建模系统,因为将来它可能会改变为进程间。

我的问题是:在这种限制下是否有更多适当的机制来启用线程间通信,或者我可以继续使用进程间队列而不用担心“进程间开销”?

1 个答案:

答案 0 :(得分:2)

您可以使用std::queueboost::mutex保护的boost::condition_variable {{1}}

Anthony Williams在他的“C ++并发行动”一书中提供了关于如何实现线程安全队列的出色解释。

示例代码可在他的网站上找到:

Just Software Solutions - Implementing a Thread Safe Queue