首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从另一个线程中断boost::asio::async_receive_from

从另一个线程中断boost::asio::async_receive_from
EN

Stack Overflow用户
提问于 2011-06-22 04:02:09
回答 1查看 716关注 0票数 0

我正在使用async_receive_from读取多播输入。所以我的想法是,当我检测到间隙时,我将通知另一个助手线程请求/获取间隙填充消息。在此过程中,主线程将继续接收任何传入消息并对其进行排队。这部分我可以实现。另一个线程可以使用waitforsingleobject,我可以通过共享内存将详细信息传递给它,并通知一个事件来唤醒它。

但是一旦它完成了它的任务,我如何让辅助线程中断发起线程中的async_receive_from呢?当它从读取中出现时,它知道是谁中断了,所以它就知道下一步该做什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-22 04:43:30

为什么要在线程之间使用共享内存?

除此之外,在管理套接字的io_service上下文中执行某些操作时应该使用的机制是post()。您可以将任意事件发布到io_service,它将在该上下文中执行。很简单真的..。因为您正在调用async_receive_from,所以它不是阻塞的,即io_service可以分派其他事件,这就是post能够工作的原因。

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

https://stackoverflow.com/questions/6431308

复制
相关文章

相似问题

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