pri*_*lia 1 java io multithreading
我要批量复制文件,最佳实践是什么?
例如我有:
LIst<String> pathesList ...
String dist = "c:/myfolder/";
Run Code Online (Sandbox Code Playgroud)
简单的方法是循环抛出pathesList并将每个路径副本复制到目标文件夹。
我的问题是,如果有数百个文件,并且每个文件都很大,大约50-100mb。
你能建议我什么?
也许要做多线程复制文件?
这些文件不在同一文件夹中,所有文件的目的地均为一个文件夹。谢谢。
复制文件几乎可以确定是IO绑定的。使其更快的方法是使用支持更多IOP的磁盘子系统。例如,SSD可以支持的IOPS数量是HDD的1000倍。这不是您可以通过软件提高的速度,因为它不是瓶颈。
您可以采取一些技巧来加快磁盘访问速度,但是OS可以为您完成大多数操作,例如,在顺序读取时预取文件并缓存文件写入,而不是立即将其提交到磁盘。
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |