网络编程多个 epoll 线程有何作用?

查看 65|回复 5
作者:0littleboy   
最近阅读了一些 epoll 相关的代码,发现其定义了多个 epoll 线程
我很疑惑,epoll 不是可以进行 io 多路复用的吗,单个线程不就足够了
是为了平衡 io 的开销吗?
而且多个 epoll 线程的话,如何确定哪一个可以 accept 新连接
还请 v 友解答一下

epoll, 线程, Accept, 复用

FabricPath   
不懂 epoll ,不过单线程去 accept ,那短连接的瓶颈就在这单个线程了,毕竟 accpet 之后还要分发到其他线程去处理
xycost233   
如果你 epoll 事件会进行 CPU 密集型操作的话建议把操作交给另一个线程,epoll 作为分发器把任务分给其他的线程
wdf1286   
读写 fd 有它固有的消耗,无论你是 select 还是 epoll ,单线程跑满了就只能多开线程
nightwitch   
one loop one thread 和 one loop all threads 只是两种不同的编程模型,取决于 epoll 接收到事件后怎么处理。没有绝对的优劣
buhuiqizi   
再快也是有极限的吧
您需要登录后才可以回帖 登录 | 立即注册

返回顶部