为了账号安全,请及时绑定邮箱和手机立即绑定

一个关于多进程分块读写大文件的问题

一个关于多进程分块读写大文件的问题

眼眸繁星 2019-04-07 09:38:23
问题是这样的:有一个比较大的文件file1,它的内容格式是一行一行的,比如1|123|abc2|212|lca3|123|asdxxx现在,我想用多个进程同时分块读取文件,分别处理。那么怎么做才能保证每个进程分到的块正好是完整的一行。刚刚接触这一块的东西,还望指导。
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

如果是为了提高效率,分进程读是没有什么意义的,因为这个快不快主要取决于磁盘的IO,如果你为了分行还需要进行特殊处理的话,不可避免的大量随机读。还不如用一个进程顺序读入,然后切割分给n个进程进行处理。说实话如果处理逻辑不是很复杂的话,提高IO的效率比搞几个进程好。提高IO的效率还是多用用操作系统的特性吧。`
                            
查看完整回答
反对 回复 2019-04-07
?
互换的青春

TA贡献1797条经验 获得超6个赞

分块后,除了第一个进程外,其它进程从中间某个地方向后读到换行符,然后再一行行地读并处理。
不过,你的文件存储在什么设备上?你是处理每一行数据会花很多时间,还是觉得多进程读同一文件会比单进程更快?
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 617 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信