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

问题是这样的:
有一个比较大的文件file1,它的内容格式是一行一行的,比如
1|123|abc
2|212|lca
3|123|asd
x
x
x
现在,我想用多个进程同时分块读取文件,分别处理。那么怎么做才能保证每个进程分到的块正好是完整的一行。
刚刚接触这一块的东西,还望指导。
眼眸繁星
浏览 618回答 2
2回答

德玛西亚99

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

互换的青春

分块后,除了第一个进程外,其它进程从中间某个地方向后读到换行符,然后再一行行地读并处理。不过,你的文件存储在什么设备上?你是处理每一行数据会花很多时间,还是觉得多进程读同一文件会比单进程更快?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript