C ++ 17引入了执行策略std::execution::seq
,std::execution::par
和std::execution::par_unseq
,它们可以指定在特定执行策略中执行的标准算法。
std::execution::seq
使算法在单个线程中以确定性顺序执行,即不并行且不并发。
std::execution::par
使算法在多个线程中执行,并且线程各自具有自己的顺序任务。即并行但不并发。
std::execution::par_unseq
使算法在多个线程中执行,并且线程可以具有并发的多个任务。即并行和并发。
但是,并发多项任务有什么意义,因为它比数据序列具有更多的数据竞争危险?
免责声明重复标记:我已经知道它们有何不同。因此,提到的问题是一个不同的问题。我不认为这个问题的答案也是我的答案。