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

1608阅读 0评论2011-12-31 yuweixian4230
分类:LINUX


from: 阻塞,非阻塞IO和同步,异步IOhttp://my.oschina.net/shawnChen/blog/11508

在看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调用阻塞。

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

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

上一篇:3 用C语言实现Ping程序功能 ibm
下一篇:4.5 阻塞、非阻塞 什么是同步、异步, 一般用 同步阻塞、异步非阻塞