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 に答える