スレッドのインターリーブの可能性について質問がありますが、ここで間違っている可能性があります。私はこのコードスニペットを
handleUpstream( ChannelHandlerContext ctx, ChannelEvent イベント )
private AtomicInteger metrics = new AtomicInteger();
if ( metrics.getAndSet( metrics.get() + 1 ) < 3 ){
mc.writeInt( readableBytes );
System.out.format( "Bytes [%d] ", readableBytes );
mc.writeLong( latency );
System.out.format( "Latency [%d]%n ", latency );
}
時々、書き込みがごちゃ混ぜになるようです。私が読み返すと、それらは間違っていて、印刷ステートメントも順不同です。これらのメソッドは、NIO ダイレクト バッファに書き込みます。
注文を強制するために、ここで java.util.concurrency 機能を使用することになっていますか?
ありがとう。