11.14并发编程的IO模型

网络IO模型详解
本文深入解析网络IO的各种模型,包括阻塞IO、非阻塞IO、多路复用及异步IO模型。阐述了每种模型的特点、工作原理及其对系统资源的影响,帮助读者理解不同场景下选择合适IO模型的重要性。

1..网络IO的两个阶段 waitdata :网络传输的等待时间

              Copydata:应用程序复制到系统内存的时间

2.阻塞IO模型

      多线程 多进程 还是 线程池 进程池等 都是阻塞

 

 

3.非阻塞IO模型

             在非阻塞io中 需要不断循环询问操作是否有需要处理的数据

                这一来 对应程序而言 效率确实高

             但是操作系统而言 你的程序就像一个病毒 CPU将被你强行霸占

当你的TCP程序 没有连接 没有数据接收 没有数据发送时 就是在做无用循环 浪费系统资源

 

 

 

 

4.多路复用

         单个进程就可以同时处理多个网络连接的io

 

原理: 就是select这个function会不断的轮回询问所有的socket 有没有数据daoda, 一旦有数据到达就会通知用户进程

 

Select是阻塞的

 

结论: select 不适合单个链接,多个链接才能提现它的优势

 

            

5.异步IO模型

 

 

         在wiatdata的时间去做其他事情,等有数据了会发送signal通知

 

转载于:https://www.cnblogs.com/zhouhai007/p/9960291.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值