我在C++
之间在N个进程之间开发了一个交互式协议,这些进程通过boost message_queue
队列相互通信。其中一个进程有2个执行线程,一个使用队列的主线程,以及一个“helper”线程,用于侦听其中一个队列上接受的消息,如果需要,可以使用队列将新消息发送到其他进程。
在线程之间的同步,单个线程的等待消息等等情况下,boost消息队列是否支持使用多个线程?我使用的线程库是boost线程库。
答案 0 :(得分:1)
我不完全确定我理解这个问题,但Boost.Interprocess的message_queue
是thread-safe。 receive()
成员函数允许调用者阻塞,等待消息。使用timed_receive()
可以完成超时阅读。