阻塞,非阻塞IO和同步,异步IO

限于喜欢 提交于 2019-12-07 00:09:50

在看ACE的过程中,难免对socket的一些特别的api有点质疑,于是不得不求助于unix网络编程,在看的过程中

终于懂得了阻塞,非阻塞和同步,异步的区别,以前认为非阻塞就是一中异步模式呢,哎,看来内功真的不行,太菜鸟了,

下面开始讲解一下他们的真正含义:

Unix下的五种I/O模型是:

阻塞I/O

非阻塞I/O

I/O复用(select 和poll)

信号驱动I/O

异步I/O

阻塞I/O模型图:

非阻塞IO模型图解:

IO复用模型图解:

信号驱动IO图解:

异步IO模型图解:

同步IO引起进程阻塞,直至IO操作完成。

异步IO不会引起进程阻塞。

IO复用是先通过select调用阻塞。

好了,上图已经解释的很清楚了,再来一张书中的综合图解:

以上这些应该解释的足够清楚了吧 ~~~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!