c++ - Boost Asio - 异步堆栈 + 轮询

标签 c++ boost boost-asio

我的应用程序在共享内存中有一个队列,该队列由另一个进程提供。 我的主线程在 io_service.poll() 上循环以检测传入事件(主要是套接字事件),并且当有内容被插入此队列时,我希望通过 io_service.poll() 得到通知。

在迁移到 boost.asio 之前,我曾经使用以下机制: - 额外的线程轮询队列。 - 在新元素上,我写入管道以通知主线程。 - 主线程正在循环选择。在新元素上,管道唤醒选择,我在回调中取消堆叠我的队列。

是否有更优雅的方法使用 boost.asio 实现类似的行为?

最佳答案

在 Windows 上,您可能可以使用 Windows 对象句柄服务

除此之外,我在这里看到了一些关于集成用户定义服务的示例

关于c++ - Boost Asio - 异步堆栈 + 轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242015/

相关文章:

c++ - string_algo 的 boost to_upper 函数没有考虑语言环境

c++ - Boost.Log 'max_files' 配置未应用

c++ - 没有 RTTI 的 ASIO

C++将对象的 vector 复制到另一个

c++ - SIGINT 正常关闭

c++ - 无法通过 open() 创建的文件授予其他人对我的写入权限

c++ - boost asio http服务器,如何停止?

c++ - 使用 boost 库收听 udp 广播

c++ - 为什么这段代码用 g++ 而不是 gcc 编译?

c++ - ldd 可执行文件输出中缺少动态加载的库