原文:【Java多线程】写入同一文件,自定义线程池与线程回收利用
源代码下载地址:http://www.zuidaima.com/share/1717893650385920.htm
【优化版】
测试结果:读取一个 1.85G的CSV格式的文件,耗时 199320 ms,3分钟左右。
一个文件好几百兆,1个文件大概200万行左右的数据,现在我要解决的问题是,将 csv的数据读出来,组合数据,生成sql文件。
这个场景在平常开发中也是经常要用到的。发出来,希望大家能够指导学习~
里面包含了,NIO读取文件,多线程回收利用,线程锁等等。
代码中的 tm()方法,用过此方法测试了格式化替换10万条数据,耗时 47 ms. 100W条数据也是470ms,一秒都不到,性能已经非常高了,有需要的同志可以整合进项目中。
注意:代码几经改动,性能方面初步无法优化了,除非是用一些其他方法,好了,项目已经打包了,可以直接导入运行了,避免了上次的烦恼,没有使用第三方库。