且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

IO模型

更新时间:2022-09-16 20:30:28

 

  堵塞(Blocking) Non-blocking(非堵塞)
同步(Synchronous) Read/Write Read/Write(O_NONBLOCK)
异步(Asynchronous) I/O multiplexing(select/poll/epoll) AIO(aio.h )

 

  • select/poll/epoll是属于堵塞的异步IO,也就是调用这些函数,主线程会堵塞,知道有IO准备好或timeout
  • EAGAIN使用不O_NONBLOCK的fd,标识当前没有可用数据
  • AIO完全没有堵塞,通过信号或回调函数,当数据准备好时,直接调用回调函数或触发时间。
声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。

本文转自bourneli博客园博客,原文链接:http://www.cnblogs.com/bourneli/archive/2012/01/03/2311247.html,如需转载请自行联系原作者