处理具有多个线程的文件的正确方法是什么?

时间:2014-02-25 09:11:39

标签: multithreading perl

我正在尝试处理大小为4g字节的文件。我希望它是多线程的,所以我将使用seek来调整文件处理程序。

首先我将确定文件的中断位置,一旦完成,我将有一个搜索点数组。

然后在每个帖子中我重新打开文件进行阅读,例如open my $fh2, '<input' or die $!;

这似乎很愚蠢。

有更好的解决方案吗?文件太大我无法直接将任何部分加载到内存中。

2 个答案:

答案 0 :(得分:0)

您可以尝试Perl threads。所以你只打开一次文件,但并行处理。

答案 1 :(得分:0)

创建一个boss-worker模型,'boss'进程将读取数据&amp;将它传递给'工人'。