老师,关于select,epoll

来源:12-2 IO 多路复用 (select、poll 和 epoll)

慕粉2044486253

2019-03-03

老师说,在并发量高,连接活跃度不高的情况下,epoll比select好;反之select比epoll要好。能详细的解释一下为什么?

写回答

1回答

bobby

2019-03-05

其实还是很容易理解的, select是采用遍历的方式找出有事件的socket, epoll是维护一个红黑树,首先红黑树效率高,但是因为节点变化时候红黑树比遍历的数据结构开销大,但是查询效率高啊,所以如果大部分socket都活跃的情况下,遍历的数据结构维护方便带来的提升会高于查询带来的效率低下,所以这种时候select就好了,反之也是同样的道理

1
0

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程