现在就是新建1000个文件,然后逐行读取记录计算hashcode()%X后写入相应的文件中,试了下,估计几个小时都做不完。请问有什么比较好的方法?

解决方案 »

  1.   

    1个缓存拿来暂时存放读取的文件,另一个是已经读取的文件,用于并行处理。
    因为你读一条处理一条的话,磁盘寻道时间很久。如果你按顺序大量读取,磁盘速度会比较快。
    1. Thread1: read file into buffer1
    2. Thread2: process buffer2 if buffer2.remaining() > 0
    3. swap buffer1 and buffer2 if buffer1 is full and buffer2 is empty
    4. goto 1.