首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boost消息队列

Boost消息队列
EN

Stack Overflow用户
提问于 2011-08-26 13:09:21
回答 1查看 1.3K关注 0票数 5

我有以下与boost::interprocess::message_queue相关的问题。

按照预期,我计划在>= 2进程之间共享一个消息队列。显然,其中之一可能会在消息队列中崩溃。因此,它将持有内部锁,使其他进程无法访问队列。如何解决这一问题?似乎没有办法解锁所使用的内部互斥物。

EN

回答 1

Stack Overflow用户

发布于 2014-07-10 07:31:09

我们可以在其他进程中使用谓词等待的方法(根据需求1分钟或更长),如果满足,那么第二个进程强制解锁队列,读取后再锁定以推开和解锁?

有关更多细节,请参见下面的参考资料。

http://en.cppreference.com/w/cpp/thread/condition_variable/wait

编辑:

我们无法解锁内部锁,我认为您正在手动锁定队列

scoped_lock锁(互斥锁);

因此,您可以在时间结束后使用predicate_wait解锁,然后解锁。从其他过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7205114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档