【发布时间】:2014-05-29 10:51:44
【问题描述】:
我正在编写一个服务器,我想在其中处理来自不同工作线程中客户端的消息。
在入站处理程序的 channelRead0() 中,我收到消息,我想用工作线程处理消息(我的 handleWebSocketFrame 必须在工作线程中执行。)。谁能告诉我怎么做?
public class WebSocketSslServerHandler extends SimpleChannelInboundHandler<Object>
{
....
@Override
public void channelRead0(ChannelHandlerContext ctx, Object msg) throws Exception
{
if (msg instanceof WebSocketFrame)
{
handleWebSocketFrame(ctx, (WebSocketFrame) msg);
}
}
}
【问题讨论】:
-
据我了解,Netty 已经使用工作线程执行了“channelRead0()”方法。您可以调整 Netty 本身来设置可用工作线程的数量,请参阅 this answer 中的 cmets。
-
很高兴提供帮助,但请验证它是否按预期工作,如果确实如此,请在回答您自己的问题时描述解决方案,以便其他人可以得到相同的见解。
标签: java multithreading netty