我有许多gzip压缩文件,其中包含我尝试按顺序排列到单个合并文件中的记录。 CPU功率不是限制因素。
我想根据需要启动从GZipInputStreams读取的线程。在任何给定时间从每个文件读取的数量是变化的且不可预测的。解决此问题最明显的方法是,如果后备缓冲区低于低水位线,则有一个线程池,其中提交任务以从GZipInputStream读取。
我担心从不同线程的单个GZipInputStream读取可能会出现内存障碍问题,因为可能假设数据只会从一个线程中消耗。
要明确的是,我并不是建议多个线程同时从同一个GZipInputStream读取,而是缺少同步监视器可能会导致某些数据不一致,如果从一个线程读取流然后立即读取来自另一个主题。