03 2012 档案

 
关于Blocking IO, Non-Blocking IO 和 Asynchronous I/O的理解
摘要:概括来说,一个IO操作可以分为两个部分:发出请求、结果完成。如果从发出请求到结果返回,一直Block,那就是Blocking IO;如果发出请求就可以返回(结果完成不考虑),就是non-blocking IO;如果发出请求就返回,结果返回是Block在select或者poll上的,则其只能称为IO multiplexing;如果发出请求就返回,结果返回通过Call Back的方式被处理,就是AIO。文[2]中图画的不错,说的也比较清楚借来用一下。Blocking IO这个最好理解了,在Blocking IO模式下,函数调用只有在操作完成后才会返回。下图是它调用过程的图示:重点解释下上图,下面例 阅读全文
posted @ 2012-03-04 14:25 做个不善的人 阅读(13958) 评论(1) 推荐(2) 编辑
select vs. poll
摘要:select()监测多个文件描述符,等待一个或者多个文件描述符对某些类型的IO操作(Read,Write)变成Ready状态。A file descriptor is considered ready if it is possible to perform the corresponding I/O operation without blocking. Reference1. http://daniel.haxx.se/docs/poll-vs-select.html 阅读全文
posted @ 2012-03-04 14:13 做个不善的人 阅读(251) 评论(0) 推荐(0) 编辑

 

点击右上角即可分享
微信分享提示