Java InputStream
からバイトを読み込み、ストリームが非常に大きい場合でも効率的な方法が何であるか知りたいと思います。 doStuff1
、doStuff2
とdoStuff3
すべて同じバイトで作業する必要があるが、別のことを行う非常に大量のデータを複数回Java InputStreamから読み取る
public void handleBytes(InputStream in) {
doStuff1(in);
doStuff2(in);
doStuff3(in);
}
: のは、私は次のコードがあるとしましょう。また、私はこれらの関数が非同期であると仮定しています。
は、私はそれがmark
することが可能であることを知っているし、その後reset
ストリームが、これはin
は、大量のデータを持っているときに移動するための方法である場合、私は疑問に思って。 doStuff-X
ごとにスレッドワーカーを用意したい場合は、実際にreset
を使用することはできません。
doStuff-X
メソッドごとにストリームのコピーを用意する必要がありますか?しかし、再び大量のデータが効率的になるかどうかはわかりません。
あなたはdoStuffの方法は何をすべきかについての詳細な情報を提供する必要があります。 – Raedwald
入力ストリームが大きすぎない場合は、バイトのマスターセットに対してさまざまなプロセスを実行できる場合は、そのバイトをメモリにロードしてください。 – ManoDestra