使用Boost::asio C++版本中的io_context组件
发布时间
阅读量:
阅读量
支持异步I/O功能
该库中的Boost::asio::io_context承担着异步I/O操作的关键功能。由该对象提供其核心的异步I/O操作能力,并包含一系列与之相关的接口和方法。
(1) boost::asio::ip::tcp::socket
(2) boost::asio::ip::tcp::acceptor
(3) boost::asio::ip::upd::socket
(4) boost::asio::deadline_timer
io_context也实现为用户提供自定义异步服务的功能
安全性
(1) 对于不同对象,线程安全
对于共享对象,在除restart和notify_fork带有特定异常之外都是线程安全的。若在运行run、运行一段时间、等待直到完成等操作尚未完成时即调用restart(重启),会导致无意义的行为。此外,在其他线程中调用相关功能时必须禁止使用notify_fork函数
同步和异步操作
(1) 对于同步I/O情况,对于每一个I/O操作都将隐含执行一个io_context对象
(2) 当处理异步I/O时,在io_context内部调用run()、run_one()、run_for()、run_until()以及poll()/poll_one()等函数之前必须确保它们已经被正确初始化以准备接收后续操作。
全部评论 (0)
还没有任何评论哟~
