浮萍晓生的开发日志

记录学习的旅程,把握可预见的未来

导航

文章分类 -  NetWork IO

摘要:使用asio容易出错的一个主要原因是因为它是基于proactor模式实现的,asio有很多异步操作接口,这些异步接口稍不注意就会出现莫名奇妙的错误,所以要用好asio的第一步是理解其异步操思想。异步操作思想 用户发起异步事件,asio将这些异步事件投递到一个队列中,用户发起的操作就返回了,io_service::run会处理异步事件队列中的所有的异步事件,它会将这些事件交给操作系统处理,操作系统处理完成之后会丢到asio的事件完成的队列中,io_service发现有完成队列中有完成事件了,就会通知用户处理完成事件。 所以用户要发起一个异步操作需要做三件事:调用asio异步操作接口,发起异步操. 阅读全文

posted @ 2013-12-06 15:26 浮萍晓生 阅读(180) 评论(0) 推荐(0)