同步、异步、阻塞、非阻塞

1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。(阻塞)


2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。(立即返回)


3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数调用来达到此目的。(主动判断)


4. 异步时间非阻塞I/O: 也叫做异步I/O(AIO),用户程序可以通过向内核发出I/O请求命令,不用等带I/O事件真正发生,可以继续做另外的事情,等I/O操作完成,内核会通过函数回调或者信号机制通知用户进程。这样很大程度提高了系统吞吐量。(系统回调)

posted @ 2014-12-03 21:45  YEQ  阅读(127)  评论(0编辑  收藏  举报