1

Netty用のSnappyエンコーダーとデコーダーの作成に取り組んでいます。ZlibEncoderを調べて実装方法を確認していますが、ChannelHandlerContextが揮発性であり、finishedがAtomicBooleanであり、z(ZStream)に同期ブロックがあることに気付きました。私の質問はなぜですか?チャネルごとに新しいZlibEncoderが作成されるのに、なぜこれらが必要なのですか?

ありがとう

デイブ

4

1 に答える 1

1

ダウンストリーム イベントは任意のスレッド (書き込みなど) によってトリガーされる可能性があるため、これが必要です。アップストリーム イベントは 1 つのスレッドによってのみ実行されるため、そこでは必要ありません (Decoder はアップストリーム イベントのみを処理します)。

于 2012-04-07T07:11:56.450 に答える