0

我有许多 gzipped 文件,其中包含我试图将它们排序到单个合并文件中的记录。CPU 能力不是限制。

我想根据需要启动从 GZipInputStreams 读取的线程。在任何给定时间将从每个文件读取的数量是可变的且不可预测的。解决这个问题最明显的方法是有一个线程池,如果后备缓冲区低于低水位线,则提交任务以从 GZipInputStream 读取。

我担心从不同线程读取单个 GZipInputStream 可能会出现内存障碍问题,因为可能假设数据只会从一个线程消耗。

需要明确的是,我并不是建议多个线程同时从同一个 GZipInputStream 读取,而是如果从一个线程读取流然后立即从另一个线程读取,则缺少同步监视器可能会导致某些数据不一致.

4

0 回答 0