我的应用程序在共享内存中有一个队列,该队列由另一个进程提供。 我的主线程在 io_service.poll() 上循环以检测传入事件(主要是套接字事件),并且当有内容被插入此队列时,我希望通过 io_service.poll() 得到通知。
在迁移到 boost.asio 之前,我曾经使用以下机制: - 额外的线程轮询队列。 - 在新元素上,我写入管道以通知主线程。 - 主线程正在循环选择。在新元素上,管道唤醒选择,我在回调中取消堆叠我的队列。
是否有更优雅的方法使用 boost.asio 实现类似的行为?
最佳答案
在 Windows 上,您可能可以使用 Windows 对象句柄服务
除此之外,我在这里看到了一些关于集成用户定义服务的示例
关于c++ - Boost Asio - 异步堆栈 + 轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242015/