提升线程间通信队列

Boost interthread communication queue

本文关键字:通信 队列 线程      更新时间:2023-10-16

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

我的问题是:鉴于此限制,是否有更多适当的机制来启用线程间通信,或者我可以继续使用进程间队列而不必担心"进程间开销"?

您可以使用

boost::mutexboost::condition_variable保护的std::queue

Anthony Williams 在他的书"C++ Concurrency in Action"中提供了有关如何实现线程安全队列的出色解释。

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

只是软件解决方案 - 实现线程安全队列