有没有任何方法可以在java中拆分文本文件而不读取它?
我想以GB的形式处理一个大文本文件,所以我想将文件分成小部分,并在每个文件上应用线程并为其组合结果.
因为我将为小部件阅读它,然后通过读取它来分割文件将没有任何意义,因为我将不得不读取相同的文件两次,这将降低我的性能.
您的线程尝试格式不正确。如果您必须对文件数据进行大量处理,请考虑以下线程结构:
1 个 Reader 线程(读取文件并为工人提供数据)
1..n 个工作线程(n 取决于您的 cpu 核心,处理来自读取器线程的数据块)
1 个写入器线程(将结果写入某个文件)
也许您可以将 Reader / Writer 线程合并为一个线程,因为在同一物理硬盘上并行 IO 没有多大意义。
很明显,您需要线程之间的一些同步内容。特别是对于队列,请考虑信号量
| 归档时间: |
|
| 查看次数: |
2120 次 |
| 最近记录: |