阻塞,非阻塞IO和同步,异步IO
在看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调用阻塞。 好了,上图已经解释的很清楚了,再来一张书中的综合图解: 以上这些应该解释的足够清楚了吧 ~~~ 来源: oschina 链接: https://my.oschina.net/u/102078/blog/11508