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

杰森

Netty-4 的线程模型是: 在此处输入图片说明

每个EventLoop(Thread)都有自己的taskQueue,这个队列只由这个EventLoop(Thread)操作。那么EventLoop的taskQueue是如何被'multiple producer'操作的呢?

诺曼·毛雷尔

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的消费者在队列中与生产者分开工作?

生产者-消费者为什么不停止?

什么是PECS(生产者扩展了超级消费者)?

生产者-消费者,为什么不使用一个信号量实现它?

为什么我在 Java 中使用锁和条件在这个生产者 - 消费者中陷入僵局?

为什么生产者消费者与单个生产者/消费者排队不需要互斥体?

为什么condition_variable正在等待生产者-消费者中的锁定?C ++

为什么生产者-消费者代码不起作用?

JMS生产者和消费者花费太多时间。为什么?

为什么 Kafka 消费者因节点故障而冻结,而生产者不受影响?

Java生产者/消费者。为什么我们需要两个条件?

为什么我的由lua coroutine实现的生产者-消费者模型无法正常工作?

消费者生产者。没有错误。有时有效。为什么?

Go中生产者/消费者最容易理解的成语是什么?

管道中的消费者在什么时候可以减慢生产者的速度?

Web服务生产者和消费者之间有什么区别?

单生产者多消费者Java

使用队列的生产者/消费者线程

为什么netty不直接使用AsynchronousServerSocketChannel?

如何使用aioredis pub / sub实现单生产者多消费者

对于Java中的生产者-消费者来说,更好的习惯用法是什么?

为什么在与8个生产者1消费者进行测试时,golang通道比intel tbb parallel_queue快得多

(卢阿)为什么我的生产者-消费者Lua协程实验没有产生预期的反响?

为什么在记录,生产者和消费者数量不变的情况下,卡夫卡经纪人的GC时间会增加?

为什么Kafka消费者连接到Zookeeper,而生产者却从经纪人那里获取元数据?

当只有一个生产者和一个消费者时,为什么不需要同步缓冲区?

具有分离队列的多生产者多消费者数据同步

消费者无法使用Java中的简单生产者/消费者/队列代码工作

多生产者-消费者执行的效率