以下是实施步骤和问题:
Netty服务器处理程序从客户端
因为还有其他正在运行的线程来处理用户数据,我们需要将此请求放入队列并让工作进程处理
在工作者处理数据之后,我们可以在工作线程中回复客户端吗?即使用HashMap缓存ChannelHandlerContext并稍后从工作线程获取响应?
谢谢大家
答案 0 :(得分:2)
是的,你可以。 ChannelHandlerContext
提供的操作都是线程安全的,因此您可以保留上下文实例供以后使用,并从其他线程使用它。
ChannelHandlerContext
与其所属的Channel
具有相同的生命周期。当Channel
关闭时,ChannelHandlerContext
也会从管道中解除引用。如果你保留对ChannelHandlerContext
的引用,你应该取消引用它或确保垃圾收集器可以回收它。