0

単一の統合ファイルにシーケンスしようとしているレコードを含む gzip ファイルが多数あります。CPU パワーは制約ではありません。

必要に応じて GZipInputStreams から読み取るスレッドをスピンアップしたいと考えています。任意の時点で各ファイルから読み取られる量は変動し、予測できません。この問題を解決する最も明白な方法は、バッキング バッファーがロー ウォーターマークを下回った場合に GZipInputStream から読み取るためにタスクが送信されるスレッド プールを用意することです。

データは 1 つのスレッドからのみ消費されると想定されていた可能性があるため、異なるスレッドから単一の GZipInputStream を読み取ると、メモリ バリアの問題が明らかになる可能性があることを懸念しています。

明確にするために、複数のスレッドが同じ GZipInputStream から同時に読み取ることを示唆しているわけではありませんが、ストリームが 1 つのスレッドから読み取られ、すぐに別のスレッドから読み取られた場合、同期モニターがないために一部のデータに一貫性がなくなる可能性があります。 .

4

0 に答える 0