【发布时间】:2009-04-04 16:40:14
【问题描述】:
我什么时候应该在 boost::asio 中使用异步操作,而不是在单独的线程中使用同步操作?
【问题讨论】:
标签: multithreading boost asynchronous boost-asio
我什么时候应该在 boost::asio 中使用异步操作,而不是在单独的线程中使用同步操作?
【问题讨论】:
标签: multithreading boost asynchronous boost-asio
Rationale 部分有帮助吗?
大多数程序都以某种方式与外界交互,无论是通过文件、网络、串行电缆还是控制台。有时,与网络一样,单个 I/O 操作可能需要很长时间才能完成。这给应用程序开发带来了特殊挑战。
Boost.Asio 提供工具来管理这些长时间运行的操作,而不需要程序使用基于线程和显式锁定的并发模型。
【讨论】:
我强烈建议您尽可能使用异步方法。异步调用不一定会创建线程,因此通过坚持异步操作,您可以减少与线程相关的开销。此外,线程通常更难开发和维护。
希望对您有所帮助。
【讨论】: