我希望通过附件在Netty中的大约20个频道之间共享一个对象。离..
SharedStatsObj sso ...
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
ChannelHandlerContext c = future.getChannel().getPipeline().getContext("handler")
c.setAttachment(sso);
此对象将保留有关发送命令,已连接多长时间的统计信息,还将用于指示各个通道执行特定操作。有人对这个有经验么?除了在更新数据/访问数据时使用同步块之外,是否存在任何线程问题?任何建议将不胜感激!
答案 0 :(得分:1)
如果要在通道之间共享Object,则将其直接注入ChannelHandler或使用静态ChannelLocal实例。
确保您的对象是线程安全的!