我可以使用Boost消息队列进行线程通信

时间:2010-08-22 12:51:40

标签: multithreading boost message-queue

我从主线程产生多个工作线程。我可以从主线程为每个线程创建message_queue,并从主线程发送消息。我问这个是因为消息队列是用于进程间通信的。

我是否需要考虑与此相关的任何具体内容

1 个答案:

答案 0 :(得分:4)

Boost Message Queue not based on POSIX message queue?所述(并在文档中提到)。如果您正在谈论线程,则您具有相同的地址空间,并且不需要进程间功能。

我建议在我的包装类中使用你选择的STL容器(has-a relationship)并用同步元素(mutable exclusion / mutex)包围setter / getter,如How do I create synchronization mechanisms in managed shared memory segments?所述。对象的序列化是进程间通信的一个性能优势 - 在进程边界之间复制数据块。另一方面,您可以使用所有简洁的功能,例如shared_ptr