我正在使用boost :: interprocess :: message_queue和VC ++(在Microsoft Visual Studio 2005中)。 它在调试模式下正常工作。 然后当我在发布模式下编译我的程序时,它停止工作,每次我调用“try_send”它返回false。 我不明白Release和Debug模式之间的设置有什么不同,这会使队列停止工作。
答案 0 :(得分:0)
事实证明,我的Release版本没有调试版本那么多。在队列中累积消息的线程更快,这意味着另一个线程(刷新消息)没有赶上。 最后消息队列如果已满。 我需要使用timed_send来使其他线程有时间赶上来。