码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-03 22:52:31      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:io   on   文件   时间   程序   用户   br   函数   select   

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操作完成,内核会通过函数回调或者信号机制通知用户进程。这样很大程度提高了系统吞吐量。(系统回调)

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

标签:io   on   文件   时间   程序   用户   br   函数   select   

原文地址:http://www.cnblogs.com/yanenquan/p/4141400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!