当前位置: 首页 > news >正文

使用std::transform实现并发计算

使用std::transform实现并发计算

  • 1.编码
  • 2.编译
  • 3.执行输出

1.编码

int main(int argc, char *argv[])
{std::vector<int> array;for (int i = 1; i <= 100; ++i){array.push_back(i);}std::vector<int> result(array.size());std::transform(std::execution::par, array.begin(), array.end(), result.begin(), [](int x) {static std::mutex mutex;std::lock_guard<std::mutex> lock(mutex);std::cout << std::this_thread::get_id() << " " << x << std::endl;return x * 10;});
}

2.编译

g++ -std=c++20 main.cpp -ltbb

3.执行输出

7f9c44c96740 1
7f9c44c96740 2
7f9c44c96740 3
7f9c44c96740 4
7f9c44c96740 5
7f9c44c96740 6
7f9c44c96740 7
7f9c44c96740 8
7f9c44c96740 9
7f9c44c96740 a
7f9c44c96740 b
7f9c44c96740 c
7f9c44c96740 d
7f9c44c96740 e
7f9c44c96740 f
7f9c44c96740 10
7f9c44c96740 11
7f9c44c96740 12
7f9c44c96740 13
7f9c44c96740 14
7f9c44c96740 15
7f9c44c96740 16
7f9c44c96740 17
7f9c44c96740 18
7f9c44c96740 19
7f9c44c96740 1a
7f9c44c96740 1b
7f9c44c96740 1c
7f9c44c96740 1d
7f9c44c96740 1e
7f9c44c96740 1f
7f9c44c96740 20
7f9c44c96740 21
7f9c44c96740 22
7f9c44c96740 23
7f9c44c96740 24
7f9c44c96740 25
7f9c44c96740 26
7f9c44c96740 27
7f9c44c96740 28
7f9c44c96740 29
7f9c44c96740 2a
7f9c44c96740 2b
7f9c44c96740 2c
7f9c44c96740 2d
7f9c44c96740 2e
7f9c44c96740 2f
7f9c44c96740 30
7f9c44c96740 31
7f9c44c96740 32
7f9c44c96740 33
7f9c44c96740 34
7f9c44c96740 35
7f9c44c96740 36
7f9c44c96740 37
7f9c44c96740 38
7f9c44c96740 39
7f9c44c96740 3a
7f9c44c96740 3b
7f9c44c96740 3c
7f9c44c96740 3d
7f9c44c96740 3e
7f9c44c96740 3f
7f9c44c96740 40
7f9c44c96740 41
7f9c44c96740 42
7f9c44c96740 43
7f9c44c96740 44
7f9c43ce96c0 4c
7f9c44c96740 58
7f9c44c96740 59
7f9c44c96740 5a
7f9c44c96740 5b
7f9c44c96740 5c
7f9c44c96740 5d
7f9c44c96740 5e
7f9c44c96740 5f
7f9c44c96740 60
7f9c44c96740 61
7f9c44c96740 62
7f9c44c96740 63
7f9c44c96740 64
7f9c44c96740 48
7f9c44c96740 49
7f9c44c96740 4a
7f9c44c96740 4b
7f9c44c96740 46
7f9c44c96740 47
7f9c44c96740 4f
7f9c44c96740 50
7f9c44c96740 51
7f9c44c96740 4e
7f9c43ce96c0 4d
7f9c430e66c0 52
7f9c434e76c0 57
7f9c440ea6c0 45
7f9c41ce16c0 53
7f9c438e86c0 56
7f9c43ce96c0 54
7f9c44c96740 55
http://www.dtcms.com/a/302115.html

相关文章:

  • Java 开发新人,入职后的环境搭建和配置
  • 安宝特方案丨AI算法能力开放平台:适用于人工装配质检、点检、实操培训
  • Netty中trySuccess和setSuccess的区别
  • python-内存管理
  • 【FAQ】MS Dynamics 365 Sales配置方法汇总
  • Linux中应用程序的安装于管理
  • Java面试宝典:Spring Boot
  • 基于BEKK-GARCH模型的参数估计、最大似然估计以及参数标准误估计的MATLAB实现
  • 【Linux学习】(12)环境变量
  • 自定义spring-boot-starter
  • STM32F4—电源管理器
  • 网络安全笔记
  • 图像处理第三篇:初级篇(续)—— 照明的理论知识
  • Springboot社区养老保险系统小程序
  • 基础算法思想——分治
  • 服务器防护教程 - 宝塔篇
  • 大模型应用开发1-认识大模型
  • 【Linux】编辑器vim和编译器gcc/g++
  • go‑cdc‑chunkers:用 CDC 实现智能分块 强力去重
  • mp快速入门
  • AI在编程、测试、数据分析等领域的前沿应用(技术报告)
  • 深度思考和搜索研究 最新的GSPO强化学习算法
  • 第六届金头脑杯夏季巅峰挑战:以智慧之名,点亮幼儿成长之路
  • RV1126B-P机器视觉应用AIoT及边缘计算算力达2.0支持 HDR 、 3DNR
  • Java设计模式之<建造者模式>
  • Go 语言面试题
  • window显示驱动开发—Direct3D 11 视频播放改进
  • WPF,按钮透明背景实现MouseEnter
  • 二级域名分发源码最新开源版
  • 使用Ettus USRP X440对雷达和EW系统进行原型验证