Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Netty-在频道之间共享附件_Java_Thread Safety_Netty - Fatal编程技术网

Java Netty-在频道之间共享附件

Java Netty-在频道之间共享附件,java,thread-safety,netty,Java,Thread Safety,Netty,我希望通过附件在Netty的大约20个频道之间共享一个对象。例 SharedStatsObj sso ... ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port)); ChannelHandlerContext c = future.getChannel().getPipeline().getContext("handler") c.setAttachment(sso); 此对象将保存诸如发送的命令

我希望通过附件在Netty的大约20个频道之间共享一个对象。例

SharedStatsObj sso ...
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
ChannelHandlerContext c = future.getChannel().getPipeline().getContext("handler")
c.setAttachment(sso);

此对象将保存诸如发送的命令、连接的时间等统计信息,还将用于向各个通道发送信号以执行特定操作。有没有人有这方面的经验?在更新数据/访问数据时,除了使用同步块之外,是否存在线程问题?任何建议都将不胜感激

如果希望在通道之间共享对象,则直接将其注入ChannelHandler或使用静态ChannelLocal实例


确保您的对象是线程安全的

有什么特别的原因让你不直接把它连接到频道上吗?我在ChannelLocal实例上达到了顶峰,但附件似乎更快更容易。