网络IO模型?什么是多路复用IO?select和epoll 的差别?

同步阻塞IO-BIO

实际使用场景:在Java中使用线程池的方式去连接数据库,使用的就是同步阻塞IO模型

同步非阻塞 IO-NIO(New IO)

如果涉及到IO操作,那么当前的线程不会被阻塞,而是会去处理其他业务代码,然后等过段时间再来查询 IO 交互是否完成

异步非阻塞 IO-AIO

IO操作已经完成后,再给线程发出通知

IO 多路复用

一个线程处理多个IO流;

在Linux中,操作系统提供了select、poll 和 epoll 三种 IO多路复用机制

select机制: 可以监听多少个socket? -- 1024 -- 需要遍历fd集合,才能找到就绪的描述符

poll机制:和select差不多,需要遍历fd集合,才能找到就绪的描述符。

epoll机制:可以监听就绪的fd

参考:https://zhuanlan.zhihu.com/p/462924941

相关推荐
野犬寒鸦2 小时前
从零起步学习计算机操作系统:I/O篇
服务器·开发语言·网络·后端·面试
跨境海王哥2 小时前
怎么检查一个IP是否干净?IP质量分数检测及如何判断风险?
网络·网络协议·tcp/ip
nainaire2 小时前
仿muduo库的Tcp服务器以及其应用层Http协议支持
服务器·网络·c++·tcp/ip·http
皙然2 小时前
IPv4与IPv6深度解析:从地址枯竭到下一代网络的演进
网络·智能路由器
zhougl9962 小时前
配置SSH免密
网络·ssh·php
Fairy要carry2 小时前
面试-Agent任务编排怎么处理?
网络·python·面试
Ivy_belief2 小时前
Qt网络编程实战:从零掌握 QUdpSocket 及 UDP 通信
网络·qt·udp
Du_chong_huan3 小时前
5.3 通过负载均衡分担流量
网络
booksyhay3 小时前
XCP协议学习笔记
网络·笔记·学习