0

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

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

4

1 回答 1

2

您可以使用std::queueboost::mutex&保护的boost::condition_variable

Anthony Williams 在他的“C++ Concurrency in Action”一书中对如何实现线程安全队列提供了很好的解释。

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

Just Software Solutions - 实现线程安全队列

于 2013-04-23T07:08:59.547 回答