c++ std::execution::par,std::execution::par_unseq
#include <algorithm> #include <chrono> #include <cstdint> #include <execution> #include <iostream> #include <random> #include <vector> std::random_device rd; std::mt19937_64 mt{rd()}; template <typename T> T gen_random(T min, T max) { std::uniform_int_distribution<T> uid(min, max); return uid(mt); } void vector_sort_execution_par(const int &len) { std::vector<std::uint32_t> vec; for (int i = 0; i < len; i++) { vec.push_back(gen_random<std::uint32_t>(0, UINT32_MAX)); } for (auto i : vec) { std::cout << i << "\t"; } std::cout << std::endl; std::sort(std::execution::par, vec.begin(), vec.end()); std::cout << "After sort parallel:" << std::endl; for (auto i : vec) { std::cout << i << "\t"; } std::cout << std::endl; } void vector_transformer_execution_par() { std::vector<int> vec1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::vector<int> vec2(10); std::transform(std::execution::par, vec1.begin(), vec1.end(), vec2.begin(), [](int x) { return x * x; }); for (auto i : vec2) { std::cout << i << "\t"; } std::cout << std::endl; } void vector_execution_par_unseq(const int &len) { std::vector<std::uint32_t> vec; for (int i = 0; i < len; i++) { std::uint32_t temp=gen_random<std::uint32_t>(0, UINT32_MAX); vec.push_back(temp); } std::for_each(std::execution::par_unseq, vec.begin(), vec.end(), [](std::uint32_t x) { std::cout << x << "\t"; }); std::cout << std::endl; } int main(int args, char **argv) { vector_execution_par_unseq(atoi(argv[1])); }
g++-12 -std=c++2a -I. *.cpp -o h1
./h1 10;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-06-26 Convert XLSX file to DataTable via NPOI
2020-06-26 C# NPOI read excel files include xls and xlsx
2020-06-26 C# write stream to local file