Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4523938
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: LINUX

2011-12-31 18:31:29


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

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

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

阅读(1547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~