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

5种io模型摘要

时间:2018-09-18 17:25:32      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:tail   直接   alt   创建   aix   操作   复用器   最大的   事件   

https://www.jianshu.com/p/db5da880154a

 

I/O多路复用,I/O就是指的我们网络I/O,多路指多个TCP连接(或多个Channel),复用指复用一个或少量线程。串起来理解就是很多个网络I/O复用一个或少量的线程来处理这些连接。

 

理解了select就抓住了I/O多路复用的精髓,对应的操作系统中调用的则是系统的select函数,该函数会等待多个I/O事件(比如读就绪,写)的任何一个发生,并且只要有一个网络事件发生,select线程就会执行。

 

阻塞式I/O和I/O复用,两个阶段都阻塞,那区别在哪里呢?就在于第三节讲述的Selector,虽然第一阶段都是阻塞,但是阻塞式I/O如果要接收更多的连接,就必须创建更多的线程。I/O复用模式下在第一个阶段大量的连接统统都可以过来直接注册到Selector复用器上面,同时只要单个或者少量的线程来循环处理这些连接事件就可以了,一旦达到“就绪”的条件,就可以立即执行真正的I/O操作。这就是I/O复用与传统的阻塞式I/O最大的不同。也正是I/O复用的精髓所在。

避免连接多了之后线程切换巨大开销
 
 https://blog.csdn.net/woaixiaopangniu521/article/details/70279143
 

IO多路复用模型使用了Reactor设计模式实现了这一机制。

异步IO模型使用了Proactor设计模式实现了这一机制。

技术分享图片

 

https://www.aliyun.com/jiaocheng/792562.html

这篇文章阐述了同步阻塞的区别

 

5种io模型摘要

标签:tail   直接   alt   创建   aix   操作   复用器   最大的   事件   

原文地址:https://www.cnblogs.com/silyvin/p/9669622.html

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