最代码广告位
linapex的gravatar头像
linapex2014-03-01 23:14:42

【Java多线程】写入同一文件,自定义线程池与线程回收利用

【优化版】

测试结果:读取一个 1.85G的CSV格式的文件,耗时 199320 ms,3分钟左右。

 

一个文件好几百兆,1个文件大概200万行左右的数据,现在我要解决的问题是,将 csv的数据读出来,组合数据,生成sql文件。

 

这个场景在平常开发中也是经常要用到的。发出来,希望大家能够指导学习~

 

里面包含了,NIO读取文件,多线程回收利用,线程锁等等。

 

代码中的 tm()方法,用过此方法测试了格式化替换10万条数据,耗时 47 ms. 100W条数据也是470ms,一秒都不到,性能已经非常高了,有需要的同志可以整合进项目中。

 

注意:代码几经改动,性能方面初步无法优化了,除非是用一些其他方法,好了,项目已经打包了,可以直接导入运行了,避免了上次的烦恼,没有使用第三方库。

【Java多线程】写入同一文件,自定义线程池与线程回收利用【Java多线程】写入同一文件,自定义线程池与线程回收利用


打赏

文件名:TempCode.rar,文件大小:13.397K下载
  • /
      • /TempCode
        • /TempCode/.classpath
        • /TempCode/.project
          • /TempCode/.settings
            • /TempCode/.settings/org.eclipse.jdt.core.prefs
          • /TempCode/bin
              • /TempCode/bin/com
                  • /TempCode/bin/com/linapex
                      • /TempCode/bin/com/linapex/code
                        • /TempCode/bin/com/linapex/code/CallBack3.class
                        • /TempCode/bin/com/linapex/code/Main$1.class
                        • /TempCode/bin/com/linapex/code/Main.class
                        • /TempCode/bin/com/linapex/code/StopWatch2.class
                        • /TempCode/bin/com/linapex/code/TaskWithResult.class
                        • /TempCode/bin/com/linapex/code/WriteSqlHandle2.class
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友