小编Jos*_*eph的帖子

主题:这种情况值得吗?

我之前从未使用过线程,但我想我可能遇到过这样的机会:

我编写了一个脚本,通过一组~500个Excel文件进​​行咀嚼,并使用Parse :: Excel从工作簿中的特定工作表中提取值(平均每个工作簿两个工作表;每个工作表提取一个单元格.)

现在运行它,我只是逐个浏览文件数组并从文件中提取相关信息,大约需要45分钟才能完成.

我的问题是:这是一个使用线程的机会,并且一次有多个文件被点击*,或者我应该只接受45分钟的运行时间?

(* - 如果这是对我可以用线程做什么的严重误解,请说出来!)

提前感谢您提供的任何指导!

编辑 - 添加示例代码.下面的代码是一个sub,在foreach循环中为存储在数组中的每个文件位置调用:

# Init the parser
my $parser = Spreadsheet::ParseExcel->new;
my $workbook = $parser->parse($inputFile) or die("Unable to load $inputFile: $!");

# Get a list of any sheets that have 'QA' in the sheet name
foreach my $sheet ($workbook->worksheets) {
    if ($sheet->get_name =~ m/QA/) {
        push @sheetsToScan, $sheet->get_name;
    }
}
shift @sheetsToScan;

# Extract the value from the appropriate cell
foreach (@sheetsToScan) {
    my $worksheet = $workbook->worksheet($_);
    if ($_ =~ …
Run Code Online (Sandbox Code Playgroud)

optimization perl refactoring multithreading

5
推荐指数
1
解决办法
129
查看次数

标签 统计

multithreading ×1

optimization ×1

perl ×1

refactoring ×1