Netty为什么使用“多生产者单一消费者”队列?

时间:2018-12-11 10:50:09

标签: netty

Netty-4的线程模型是: enter image description here

每个EventLoop(Thread)都有其自己的taskQueue,此队列仅由此EventLoop(Thread)操作。那么“多个生产者”如何操作EventLoop的taskQueue?

1 个答案:

答案 0 :(得分:1)

因为您可以从EventLoop的外部提交工作。例如,如果您从另一个线程调用Channel.write(...),它将被分派到EventLoop进行处理。这意味着它将需要放入Queue中,这要求它至少是MPSC。