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