gpt4 book ai didi

java - netty的addLast中,哪个EventExecutorGroup是对的

转载 作者:行者123 更新时间:2023-12-01 11:08:49 24 4
gpt4 key购买 nike

使用 Netty,我正在增强通过 VLI 读取 XML 的 TcpIp 服务器。服务器使用 VLI 来确定数据包的边界。然后它按照以下方式将数据包转换为 xml 文档。

pipeline.addLast("VLI codec", new CombinedChannelDuplexHandler<>(new LengthFieldBasedFrameDecoder(8192, 0, 2, 0, 2), new LengthFieldPrepender(2, false)));
pipeline.addLast("XML codec", byteToDocumentCodec);

接下来是进一步处理处理程序。

这运作良好,但还不够好。使用单个线程,请求必须等待彼此才能被处理。显然,必须将 EventLoopExecutor 参数引入到第二个 pipeline.addLast

问题是哪个合适。我正在考虑其中之一

pipeline.addLast(new LocalEventLoopGroup(), "XML codec", byteToDocumentCodec);

或者,类似的东西

pipeline.addLast(new DefaultEventExecutorGroup(8), "XML codec", byteToDocumentCodec);

最佳答案

如果您不想在 I/O 线程中执行此操作,则 DefaultEventExecutorGroup 是正确的选择。也就是说,您希望为不同的 ChannelPipelines 共享它的相同实例。

关于java - netty的addLast中,哪个EventExecutorGroup是对的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32605058/

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