【问题标题】:Can I Use Boost Message Queues for Thread Communication我可以使用 Boost 消息队列进行线程通信吗
【发布时间】:2011-04-02 06:37:16
【问题描述】:

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

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

【问题讨论】:

    标签: multithreading boost message-queue


    【解决方案1】:

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

    我建议在我的包装类中使用您选择的 STL 容器(有关系)并用同步元素(可变排除/互斥)包围 setter/getter,正如How do I create synchronization mechanisms in managed shared memory segments? 所提到的那样。对象是进程间通信的性能优势——在进程边界之间复制数据块。另一方面,您可以使用所有简洁的功能,例如shared_ptr.

    【讨论】:

      猜你喜欢
      • 2020-06-11
      • 2013-11-01
      • 2011-01-01
      • 2014-01-17
      • 1970-01-01
      • 2010-09-20
      • 2011-05-14
      • 2017-02-14
      • 2014-08-12
      相关资源
      最近更新 更多