首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boost和单线程事件驱动模型

boost和单线程事件驱动模型
EN

Stack Overflow用户
提问于 2011-06-12 03:25:56
回答 2查看 3.9K关注 0票数 6

Boost不提供单线程事件驱动模型,这种模型在pthread之前就在Unix上广泛使用-- mainloop +“回调”,不是吗?

例如,如果我想在单线程应用程序中使用boost::message_queue,并将其与计时器和其他异步事件(主循环)混合使用,那么boost不支持它,对吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-12 03:33:17

我会看着

  1. Boost::Signals (您可以像wish)
  2. Boost::Asio一样精确地使用它们(最重要的是:strands)。Strands将让你既有蛋糕又吃蛋糕(通过单线程语义,同时仍然支持并行工作,如果你允许我的COM感染的双关语,在另一个‘单线程公寓’上)。就你的问题而言,这是对的,因为它会自动同步和排队,让工作进入你所说的“主”线程。

如果您打算将两者结合起来,请确保使用Boost Signals2 (因为它支持线程)。

票数 10
EN

Stack Overflow用户

发布于 2011-06-12 03:31:45

boost::interprocess::message_queue是为多处理而设计的。在单线程进程中,您始终可以使用std::queue

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

https://stackoverflow.com/questions/6318051

复制
相关文章

相似问题

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