![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多路复用
文章平均质量分 90
X 、case
这个作者很懒,什么都没留下…
展开
-
Linux并发处理方式——多路复用之epoll
Linux并发处理方式——多路复用之epoll前言:自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术,在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当然可以更改数量,但由于select采用轮询的方式扫描文件描述符,文件描述符数量越多,性能越差;内核 / 用户空间内存拷贝问题,select需原创 2021-07-28 21:59:57 · 360 阅读 · 0 评论 -
Linux并发处理方式——多路复用之poll
Linux并发处理方式——多路复用之poll前言:poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。一、相关函数介绍#include <poll.h>struct pollfd{int f原创 2021-07-28 18:14:33 · 302 阅读 · 0 评论 -
Linux并发处理方式——多路复用之select
Linux并发处理方式——多路复用之select前言:我们都知道开启一个进程都要耗费cpu的资源,每一个进程都有独立4G的虚拟内存,在高并发的情况下进程不可能无限制地开启,这样对cpu的负载实在太大,要求是在无法满足,线程在开启也需要时间开销。那么现在我们就需要解决这个问题,在多路复用里可以做到把你需要做的事情交给内核进行监听,我们只需要在事件发生的时候去完成相应的事情即可,这样不会造成程序阻塞,使得程序效率不高。下面我介绍多路复用的select用法。一、相关函数介绍多路复用的用法主要就是把多个阻塞原创 2021-07-28 17:09:40 · 410 阅读 · 0 评论