perl - 如何总结perl中线程数组返回的所有值?
问题描述
我有线程执行一个返回整数的子程序。
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;
推荐阅读
- php - MYSQL 这个 JOIN 太冗长还是这是唯一的方法?排序不起作用
- macos - Mac - 获取音频设备供应商 ID 和产品 ID 并将其调整为我从 CoreAudio 获得的 uid
- c++ - C++ 变体:为什么转换构造函数需要 sizeof...(Types) 为非零
- sockets - 解码专有 LED 调光数据
- python - 为什么使用 Pandas 合并两个 CSV 文件时数据会被删除?
- powershell - 从文件夹中的 30 个不同文件中仅提取 powershell 中 csv 文件的前 10 行
- mysql - Laravel 搜索查询仅匹配完整的单词
- google-colaboratory - 设置环境
- git - 无法解析支持的身份验证方案:操作标识符在 GitKraken 中无效
- html - CSS Sidebar 与 Navbar 重叠,无法让 div 堆叠