如何总结由perl中的线程数组返回的所有值?
我有执行 sub 的线程,它返回一个整数。
sub process_tasks {
...
return($nb_item_processed);
}
这是我启动线程的方式
map { threads->new(&process_tasks, $_) } 1 .. $nb_threads;
如何计算所有返回值的总和?
回答
线程返回的值由 返回join。
use List::Util qw( sum );
my $sum =
sum
map { $_->join() }
map { async { process_tasks($_) } }
1 .. $nb_threads;