epoll 为什么能提高网络性能

epoll⾼性能最根本的原因是,epoll 可以同时监听多个fd事件,这在很⼤程度地减少了⽆⽤的进程上下⽂切换,让进程更专注地处理⽹络请求。

其实在内核的硬、软中断上下⽂中,包从⽹卡接收过来进⾏处理,然后放到socket的接

收队列。再找到socket关联的epiter,并把它添加到epol对象的就绪链表中。

在⽤户进程中,通过调⽤epoll wait来 查看就绪链表中是否有事件到达,如果有,直

接取⾛进⾏处理。处理完毕再次调⽤epoll_ wait。 在⾼并发的实践中,只要活⼉⾜够多,

epoll walt根本不会让进程阻塞。⽤户进程会⼀直⼲活⼉,⼀直⼲活⼉,直到epoll watt⾥

实在没活⼉可⼲的时候才主动让出CPU。这就是epoll⾼效的核⼼原因所在!

相关推荐
墨有6667 分钟前
#Linux系统命令行操作指南
linux
你怎么知道我是队长9 分钟前
计算机网络中的 DNS 与 DHCP 详解
网络·计算机网络
做运维的阿瑞11 分钟前
Linux ELF 文件
linux·运维·服务器
Escalating_xu11 分钟前
【Makefile 进阶】从自动发现源文件、模式规则到目录分离与多模块递归构建
linux·开发语言
智者知已应修善业13 分钟前
C#用一个循环[等效]取出字符串中的数字
网络·c#·web·string·语言
星辰徐哥18 分钟前
鸿蒙PC平台 Gnote 笔记应用适配实战:从 Linux 到 鸿蒙PC 的 Electron 迁移
linux·笔记·electron·harmonyos·gnote
艾莉丝努力练剑20 分钟前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
一直C31 分钟前
Linux应用软件编程|嵌入式轻量级数据库SQLite3完整学习笔记(命令行+C语言API)
linux·sqlite
Jay Kay31 分钟前
RDMA中CQ为什么用轮询?——从CQ、Doorbell到GID的深度解析
运维·服务器·网络
SendTomo33 分钟前
SendTomo 与 send.wang 全景对比评测与实战指南
网络·网络协议·tcp/ip·webrtc·p2p