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

在看ACE的過程當中,不免對socket的一些特別的api有點質疑,因而不得不求助於unix網絡編程,在看的過程當中編程

終於懂得了阻塞,非阻塞和同步,異步的區別,之前認爲非阻塞就是一中異步模式呢,哎,看來內功真的不行,太菜鳥了,api

下面開始講解一下他們的真正含義:網絡

Unix下的五種I/O模型是:異步

阻塞I/Osocket

非阻塞I/Ospa

I/O複用(select 和poll)unix

信號驅動I/O進程

異步I/O同步

阻塞I/O模型圖:網絡編程

非阻塞IO模型圖解:

IO複用模型圖解:

信號驅動IO圖解:

異步IO模型圖解:

同步IO引發進程阻塞,直至IO操做完成。

異步IO不會引發進程阻塞。

IO複用是先經過select調用阻塞。

好了,上圖已經解釋的很清楚了,再來一張書中的綜合圖解:

以上這些應該解釋的足夠清楚了吧 ~~~

相關文章
相關標籤/搜索