【发布时间】:2011-10-10 05:53:01
【问题描述】:
我正在研究 RPC 框架,我想使用多 io_service 设计将执行 IO(前端)的io_objects 与执行 RPC 工作的线程(后端)分离。
前端应该是单线程的,后端应该有一个线程池。我正在考虑使用条件变量使前端和后端同步的设计。但是,boost::thread 和 boost::asio 似乎没有混合——即,似乎条件变量 async_wait 支持不可用。我有一个关于这个问题的问题here。
我突然想到io_service::post() 可能用于同步两个 io_service 对象。我在下面附上了一张图表,我只是想知道我是否正确理解了post机制,并且这是一个明智的实现。
【问题讨论】:
标签: c++ boost-asio rpc system-design