提升线程间通信队列
Boost interthread communication queue
我正在使用 Boost::interprocess::message_queue 来启用应用程序线程之间的通信。我这样做有两个原因。首先,因为我不需要直接实现共享mem。同步机制和第二个是因为我想以这种方式对系统进行建模,因为将来它可能会更改为间进程。
我的问题是:鉴于此限制,是否有更多适当的机制来启用线程间通信,或者我可以继续使用进程间队列而不必担心"进程间开销"?
您可以使用
受boost::mutex
和boost::condition_variable
保护的std::queue
Anthony Williams 在他的书"C++ Concurrency in Action"中提供了有关如何实现线程安全队列的出色解释。
示例代码可在他的网站上找到:
只是软件解决方案 - 实现线程安全队列
相关文章:
- boost::进程间消息队列引发错误
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- Android NDK传感器向事件队列报告奇怪的间隔
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 按对象的特定方法按升序排列的C++优先级队列
- 使用2个键的cpp-stl::优先级队列排序不正确
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 在一个读写器队列中,我可以用volatile替换原子吗
- 为什么我的多线程作业队列崩溃
- 混淆了如何使用IDL与Ethovision进行通信
- 尝试将lambda函数放在队列中时出现一般分配器错误(可能是与unique_ptr有关的错误)
- 使用"Task"函数指针队列定义作业管理器
- 在c++队列中使用pop和visit实现线程安全
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- stl或boost中是否存在用于线程间通信的线程安全结构,其行为类似于队列
- Boost:是否存在用于仅线程通信的进程间消息队列机制
- 提升线程间通信队列
- 在线程通信中,消息队列相对于共享数据有什么优势?