one loop per thread + 线程池 模型

文章讨论了在处理大量客户端连接和数据时,如何利用oneloopperthread结合线程池的策略。单个Reactor可能在高并发下成为瓶颈,而多Reactor模型能分散负载,配合线程池更有效地利用多核CPU资源,提高服务器性能。

one loop per thread + 线程池:one loop per thread有一个专门接收客户端连接的Reactor,然后通过某种CPU调度算法将客户端连接挂到其他的Reactor上,然后这个连接的所有操作都在那个Reactor所绑定的线程中完成,多个连接可能会被分配到多个线程中来充分利用CPU的多核资源。然后在one loop per thread基础上使用线程池进行处理数据或者业务。

单个Reactor + 线程池:用单个Reactor接收连接和把连接上的数据交给线程池处理。

在服务器突然接收到大量客户端连接发来的大量数据时,如果只是单个Reactor+线程池模型的情况下,可能会导致单个Reactor的epoll到达瓶颈,这种情况使用one loop per thread + 线程池模型的多个Reactor可以将大量客户端连接发来的大量数据分担到不同的Reactor中,可以非常有效处理这种的情况。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值