1

ヘイホー、

ByteBuffersと netty のByteBuffは、インデックスを使用して、現在の「位置」を格納します。アプリケーションの開始時に、複数のファイルをByteBuffers/ByteBuffsにロードして、後でそれらから読み取ります。また、バイトバッファはロード後に不変です。私の問題は、複数のクライアントがこれらのバイトバッファーから読み取ることができるはずですが、同じリーダー/ライターインデックスを使用しているため、機能しないことです。おそらくスレッドごとにインデックスを維持する簡単な方法はありますか? netty には、これを達成するための「ツール」がありますか?

nio ByteBuffers は複数のスレッドをサポートしていないことを既に読みましたが、それらから読み取るだけの場合にも当てはまりますか?

基本的に、メモリに保存されているデータをnetty経由で非常に高速に送信する方法のみを探しています。

4

1 に答える 1

5

新しいスレッドごとに ByteBuf で複製を呼び出し、返された ByteBuf を使用できます。これらは同じコンテンツを共有しますが、同じインデックスは共有しません。

ByteBuf duplicate = ByteBuf.duplicate();
于 2013-11-06T06:16:16.767 に答える