问题是这样的:有一个比较大的文件file1,它的内容格式是一行一行的,比如1|123|abc2|212|lca3|123|asdxxx现在,我想用多个进程同时分块读取文件,分别处理。那么怎么做才能保证每个进程分到的块正好是完整的一行。刚刚接触这一块的东西,还望指导。
2 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
如果是为了提高效率,分进程读是没有什么意义的,因为这个快不快主要取决于磁盘的IO,如果你为了分行还需要进行特殊处理的话,不可避免的大量随机读。还不如用一个进程顺序读入,然后切割分给n个进程进行处理。说实话如果处理逻辑不是很复杂的话,提高IO的效率比搞几个进程好。提高IO的效率还是多用用操作系统的特性吧。`
互换的青春
TA贡献1797条经验 获得超6个赞
分块后,除了第一个进程外,其它进程从中间某个地方向后读到换行符,然后再一行行地读并处理。不过,你的文件存储在什么设备上?你是处理每一行数据会花很多时间,还是觉得多进程读同一文件会比单进程更快?
添加回答
举报
0/150
提交
取消