首页 > 其他 > 详细

常见IO模型

时间:2015-07-30 21:22:42      阅读:159      评论:0      收藏:0      [点我收藏+]

阻塞IO模型

阻塞IO是最通用的IO,使用这种IO接受数据时,在数据没有到来之前程序会一直等待。


非阻塞IO

当把套接字设置成非阻塞IO时,则对于每次请求,内核都不会阻塞,会立即返回。当没有数据时,会返回一个错误。


IO复用

使用IO复用的可以在等待的时候假如超时时间,当超时时间没有到达的时候情况与阻塞IO是一样的,当时间到达,但是没有数据是,系统会自动返回,不在等待。select()函数就是按照一定的时间轮询。


信号驱动IO


信号驱动

信号驱动IO在进程开始时注册一个信号处理的回调函数,进行继续执行,当信号发生是,这里就有数据到来,利用注册的回到函数降到来的数据收到。


异步IO

异步IO与前面的信号驱动IO类似,其区别在于信号驱动IO当数据到来时,是用信号通知注册的信号处理函数,异步IO则在数据复制完成之后才发送信号通知注册的信号处理函数。

版权声明:本文为博主原创文章,未经博主允许不得转载。

常见IO模型

原文:http://blog.csdn.net/susser43/article/details/47155973

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!