C++ 中的执行策略

execution policy in c++

本文关键字:策略 执行 C++      更新时间:2023-10-16

我在cpprefrence中浏览copy_If定义,我看到有一些结构依赖于执行_policy。我搜索了一下,但没有得到任何好的解释。有人可以帮助我了解这是什么以及它如何有用吗?

友情链接 : http://en.cppreference.com/w/cpp/algorithm/copy

例:

template< class ExecutionPolicy, class ForwardIt1, class ForwardIt2, class UnaryPredicate >
ForwardIt2 copy_if( ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
ForwardIt2 d_first,
UnaryPredicate pred )

简而言之,这个想法是,与其让你当前的线程执行算法的普通版本(嗯,普通的编译器优化(,不如让你的计算硬件得到更广泛的使用,更快地完成"算法"。

通过执行策略可以使用哪些类型的"更快"示例:

  • 在 CPU 上的多个内核/插槽上使用多个线程
  • 使用系统上存在的协处理器,例如 CPU 或 FPGA。

评论者@UnholySheep和@DanM为我们提供了一些(更长和更详细(官方文档的链接。