0

我正在使用 boost::interprocess::message_queue 和 VC++(在 Microsoft Visual Studio 2005 中)。它在调试模式下正常工作。然后当我在发布模式下编译我的程序时它停止工作,每次我调用“try_send”它都会返回false。我不明白发布和调试模式之间的设置可能是什么不同,这会使队列停止工作。

4

1 回答 1

0

事实证明,我的 Release 版本的日志记录不如调试版本的多。在队列中累积消息的线程更快,这意味着另一个线程(刷新消息)没有赶上。最后消息队列是否已满。我需要使用 timed_send 来使其他线程有时间赶上。

于 2010-04-23T13:08:19.450 回答