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

2000万开房数据java多线程写入同一文件

这几天,出现了 2000万开房数据的事情。

 

好奇心使然,找到种子下载了,发现格式是 csv的。

 

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

 

一个技术难点是:多线程写入同一文件,只能有一个线程写,其他线程在等待.网上有很多解决方法,但我自己实现了代码,代码中有做一个 文件内容输出优化,缓存的功能,。

 

以前单线程跑,跑了一下午才完成,大概跑了几个小时。多线程跑,大概4-5分钟左右。

 

这个场景在平常开发中也是经常要用到的。

先说明,此代码直接用会报错,因为要用到我自己的工具类,需要手动将 FileUtils.doWriteFile 这些代码 换成 System.out 输出即可。

以下是截图:

 2000万开房数据java多线程写入同一文件


最代码官方编辑于2014-1-23 14:53:26


打赏

文件名:code.rar,文件大小:11.219K下载
  • /
    • /code.doc
最代码最近下载分享源代码列表最近下载
会1飞1的1鱼 LV45月21日
月亮
Dkodak LV73月19日
月亮星星星星星星
houliukou LV362月19日
太阳太阳月亮
倪卟懂 LV181月21日
太阳星星星星
安安an LV171月9日
太阳星星
wangwenyi LV62019年12月9日
月亮星星星星
花椒谢霆锋 LV52019年12月3日
月亮星星
is_gary LV142019年11月10日
月亮月亮月亮星星星星
孟文龙 LV32019年9月29日
星星星星星星
The pygfgjj LV12019年8月4日
星星
最代码最近浏览分享源代码列表最近浏览
Yangxiaojian LV27月8日
星星星星
pfb123456 LV56月25日
月亮星星
VANE26 LV16月19日
星星
mrcatt6月12日
暂无贡献等级
会1飞1的1鱼 LV45月21日
月亮
暂无贡献等级
liuyilin9608 LV155月17日
月亮月亮月亮星星星星星星
ftc1314 LV125月11日
月亮月亮月亮
xlb1924月26日
暂无贡献等级
春暖川开 LV74月11日
月亮星星星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友