gpt4 book ai didi

multithreading - Netty 需要在与 select() 相同的线程中发送,这会延迟发送

转载 作者:行者123 更新时间:2023-12-03 13:21:26 27 4
gpt4 key购买 nike

Netty 是否可以创建一个工作线程来执行一组套接字的所有发送?目前看来,netty 将出站消息发布到队列并尝试唤醒选择器,然后选择器将数据复制到未使用的缓冲区中并发送它。这需要时间。是否可以直接从不同的线程发送?

最佳答案

这不可能。 Netty 不知道用户将从哪个线程调用 write()。因此,它需要一个写请求队列和一个专用循环来执行写操作。否则,应用程序将遭受竞争,具体取决于用户如何编写他/她的应用程序。在负载下,拥有一个专用的 I/O 循环并运行一个流水线协议(protocol)似乎会产生更高的吞吐量。

关于multithreading - Netty 需要在与 select() 相同的线程中发送,这会延迟发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com