求高效的文件遍历算法!新手勿扰!
作者: yaohua1215 发布时间: 2011-06-14
作者: bao110908 发布时间: 2011-06-14
作者: qlong8807 发布时间: 2011-06-14
就你这垃圾结帖率!
发5贴,结一贴不是什么问题
作者: huntor 发布时间: 2011-06-14
就你这垃圾结帖率!
说的对,建议楼主及时结贴!
作者: hudie1234567 发布时间: 2011-06-14
除非象楼上说的开多线程,那又不是遍历算法的问题了,而且未必在每台电脑上都好使。
就用简单的递归遍历就行了。
同拭目以待楼主的结贴~
作者: alexandertech 发布时间: 2011-06-14
作者: king594238813 发布时间: 2011-06-14
作者: wuyigong111 发布时间: 2011-06-14
使用单独的线程遍历各个子目录。
引用 1 楼 bao110908 的回复:
就你这垃圾结帖率!
发5贴,结一贴不是什么问题
这种方法效率将会更低。文件存储在硬盘上的时候,一般情况下每一个文件是存放在相信的扇区的。你用单独的线程遍历各个子目录,与一个线程遍历所有目录,从原理上,没有任何地方体现出提高效率的。而且,多线程运行时,如果多个线程访问的文件都比较大,一会儿A线程访问文件1,一会儿B线程访问文件2,如果文件1和文件2存储的扇区都离的很远,甚至是不同磁道的,那么硬盘的磁头一会儿移动到这儿来读一些,一会儿移动到那儿读取一些,这样效率只会降低而不会提升。
同意5楼的前部分观点,都是遍历一次,无所谓效率高低的
作者: wenbodong 发布时间: 2011-06-14
作者: wenbodong 发布时间: 2011-06-14
引用 3 楼 huntor 的回复:
使用单独的线程遍历各个子目录。
引用 1 楼 bao110908 的回复:
就你这垃圾结帖率!
发5贴,结一贴不是什么问题
这种方法效率将会更低。文件存储在硬盘上的时候,一般情况下每一个文件是存放在相信的扇区的。你用单独的线程遍历各个子目录,与一个线程遍历所有目录,从原理上,没有任何地方体现出提高效率的。而且,多线程运行时,如果……
后半部分您也得同意:) 因为有的电脑如Unix服务器本身是支持多线程的,这时候确实能提高效率。
作者: alexandertech 发布时间: 2011-06-14