如何总结由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;


以上是如何总结由perl中的线程数组返回的所有值?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>