Netty 4. ByteToMessageCodec 后的并行处理
Netty 4. Parallel processing after ByteToMessageCodec
如果 NioEventLoopGroup
被用作 workerGroup
,ByteToMessageDecoder
处理程序(对于单个连接)之后的消息将由以下处理程序以顺序(单线程)方式处理NioEventLoop
.
是否可以让它们在 ByteToMessageDecoder
处理程序之后由另一个 «workers» 处理?
是的,只需在 ChannelPipeline
上添加一个带有特殊 EventExecutorGroup
的 ChannelHandler
。例如 UnorderedThreadPoolEventExecutor (src).
所以像这样:
UnorderedThreadPoolEventExecutor executorGroup = ...;
pipeline.addLast(executorGroup, new MyChannelHandler());
如果 NioEventLoopGroup
被用作 workerGroup
,ByteToMessageDecoder
处理程序(对于单个连接)之后的消息将由以下处理程序以顺序(单线程)方式处理NioEventLoop
.
是否可以让它们在 ByteToMessageDecoder
处理程序之后由另一个 «workers» 处理?
是的,只需在 ChannelPipeline
上添加一个带有特殊 EventExecutorGroup
的 ChannelHandler
。例如 UnorderedThreadPoolEventExecutor (src).
所以像这样:
UnorderedThreadPoolEventExecutor executorGroup = ...;
pipeline.addLast(executorGroup, new MyChannelHandler());