编程学习
🗒️C++多线程编程(9):并行STL算法
00 分钟
2023-11-25
2023-11-25
type
status
date
slug
summary
tags
category
icon
password
Email
🏡
我的个人主页:https://www.helloylh.com/
📕
文章首发于我的个人博客:https://blog.helloylh.com/
💖
欢迎大佬们来逛逛,有任何问题欢迎给我留言或者加我的联系方式。

execution

在现代C++中,<execution> 头文件引入了执行策略的概念,使得算法能够以不同的方式执行,包括顺序执行、并行执行和并行无序执行。本博客将深入介绍这个头文件的内容,并通过测试来验证其在不同执行策略下的性能表现
  1. std::execution::seq(顺序执行):表示算法应该按照其定义的顺序顺序执行。
  1. std::execution::par(并行执行):表示算法可以以并行的方式执行,以提高性能。这可能会在支持并行执行的硬件上并行运行算法。
  1. std::execution::par_unseq(并行和无序执行):表示算法可以以并行方式执行,并且结果的顺序没有保证。

使用方法与测试

直接在algorithm中支持并行版本的算法上作为第一个参数传递即可。
可以支持并行策略的部分算法:
notion image
简单测试案例:
  • seq策略是std::sort的默认策略。
运行结果

评论
  • Twikoo
  • Valine