【发布时间】:2015-05-10 15:39:46
【问题描述】:
我有一个简短的一般性问题。我目前正在使用 Netty 处理来自客户端的 TCP 和 UDP 数据包。我将每个套接字侦听器都放在一个单独的线程上,并且效果很好。
我现在担心的是,当流量开始严重影响它时,我认为每个处理程序管理消息的单个线程就足够了。每条消息生成一个新线程是否正确(我觉得不是)?或者我应该为此使用线程池之类的东西吗?任何建议将不胜感激。
这是消息处理程序的一些示例代码。我写了一些伪代码来可视化这个过程。或许对你们也有帮助。
@Override
public void messageReceived(ChannelHandlerContext ctx, DatagramPacket packet) {
//This will likely need made into a thread
//SocketDecoder.decode(packet.content().toString(CharsetUtil.US_ASCII));
//Handle decoded message, will return CharSequence
DatagramPacket response = Namespace.Decoder.createDatagram(packet, "hello");
ctx.writeAndFlush(response);
}
【问题讨论】:
标签: java multithreading sockets netty