我正在使用Boost::interprocess::message_queue在我的应用程序上实现线程之间的通信。我这么做有两个原因。首先,因为我不需要直接实现共享内存。一是同步机制,二是因为我想以这种方式对系统建模,因为将来它可能会更改为进程间。
我的问题是:考虑到这些限制,有没有更合适的机制来启用线程间通信,或者我可以继续使用进程间队列,而不用担心“进程间开销”?
发布于 2013-04-23 15:09:00
您可以使用受boost::mutex
& boost::condition_variable
保护的std::queue
Anthony Williams在他的书“C++ Concurrency in Action”中对如何实现线程安全队列提供了很好的解释。
示例代码可以在他的网站上找到:
Just Software Solutions - Implementing a Thread Safe Queue
https://stackoverflow.com/questions/16153476
复制相似问题