LV9 网络编程下
字母哥先生
痛苦的本质来源于你对现状的不满,焦虑的本质来源于你成长速度太慢。
展开
-
select、poll、epoll详解
针对同步非阻塞IO的缺点,设想如果内核提供一个方法,可以一次性把1万个客户端socket连接传入,在内核中去遍历,如果没有数据这个方法就一直阻塞,一但有数据这个方法解除阻塞并把所有有数据的socket返回,把这个遍历的过程交给内核去处理,是不是就可以避免空跑,避免1万次用户态到内核态的切换呢?可以理解为event pool,不同与select、poll的轮询机制,epoll采用的是事件驱动机制,每个fd上有注册有回调函数,当网卡接收到数据时会回调该函数,同时将该fd的引用放入rdlist就绪列表中。转载 2023-11-29 19:45:01 · 25 阅读 · 0 评论 -
LV9 详解IO多路复用机制——select、poll、epoll的原理和区别
🐶 大家好,我是周周,目前就职于国内短视频小厂BUG攻城狮一枚。🤺 如果文章对你有帮助,,你的支持将成为我最大的动力。select、poll 以及epoll是 Linux 系统的三个系统调用,也是 IO 多路复用模型的具体实现。由前文 五种常见IO模型我们可以知道,IO多路复用就是通过一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作的一种机制。IO 多路复用的优点。转载 2023-11-29 19:24:56 · 58 阅读 · 0 评论