0

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

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

该对象将保留发送的命令、我们已连接多长时间等统计信息,并且还将用于向各个通道发送信号以执行特定操作。有人对这个有经验么?除了在更新数据/访问数据时使用同步块之外,还有其他线程问题吗?任何建议将不胜感激!

4

1 回答 1

1

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

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

于 2012-04-18T18:38:00.370 回答