
IO多路复用
文章平均质量分 73
编程一时爽Cxx
温故知新
展开
-
IO多路复用三剑客之 select学习记录及简单应用
IO 多路转接也称为 IO 多路复用,它是一种网络通信的手段(机制),通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件描述符就绪( 可以读数据或者可以写数据)程序的阻塞就会被解除,之后就可以基于这些(一个或多个)就绪的文件描述符进行通信了。通过这种方式在单线程 / 进程的场景下也可以在服务器端实现并发。 常见的 IO 多路转接方式有:select、poll、epoll。 与多进程和多线程技术相比,I/O 多路复用技术的最大优势是系统开销小,系统不必创建进程 / 线程,也不必维护这原创 2021-06-06 21:57:41 · 160 阅读 · 0 评论 -
IO多路复用三剑客之 epoll学习记录及简单应用
epoll 全称 eventpoll,是 linux 内核实现 IO 多路转接 / 复用(IO multiplexing)的一个实现 IO 多路转接的意思是在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,然后对其的进行读写操作。 epoll 是 select 和 poll 的升级版,相较于这两个前辈,epoll 改进了工作方式,因此它更加高效。 对于待检测集合select和poll是基于线性方式处理的,epoll是基于红黑树来管理待检测集合的。 select和poll每次都会转载 2021-06-07 00:35:59 · 168 阅读 · 0 评论 -
IO多路复用三剑客之 poll学习记录及简单应用
poll 的机制与 select 类似,与 select 在本质上没有多大差别,使用方法也类似,下面的是对于二者的对比: 内核对应文件描述符的检测也是以线性的方式进行轮询,根据描述符的状态进行处理 poll 和 select 检测的文件描述符集合会在检测过程中频繁的进行用户区和内核区的拷贝,它的开销随着文件描述符数量的增加而线性增大,从而效率也会越来越低。 select检测的文件描述符个数上限是1024,poll没有最大文件描述符数量的限制 select可以跨平台使用,poll只能在Linux平台使用 #转载 2021-06-07 00:04:44 · 152 阅读 · 0 评论