C++ `std::sort()`是否使用线程来提高其性能?
C++ `std::sort()`是否使用线程来提高其性能?,c++,multithreading,sorting,stl,C++,Multithreading,Sorting,Stl,std::sort()是否通常使用线程来提高其性能?我意识到,这可能因实施而异。若否,原因为何 > [R.O.Re.On.Reals.Reals/8 除非另有说明,C++标准库函数应在当前线程中执行所有操作,如果这些操作对用户可见(4.7)的影响。 /9[注:如果没有明显的副作用,这允许实现并行化操作。-结束注] std::sort原则上可以在对基本类型的元素进行排序时使用并行执行(无论是否使用,都无法观察到),但不能使用用户定义的类型(当然,除非通过执行策略参数明确授予权限)。类型的运算符很
std::sort()
是否通常使用线程来提高其性能?我意识到,这可能因实施而异。若否,原因为何
<> > [R.O.Re.On.Reals.Reals/8 除非另有说明,C++标准库函数应在当前线程中执行所有操作,如果这些操作对用户可见(4.7)的影响。
/9[注:如果没有明显的副作用,这允许实现并行化操作。-结束注]
std::sort
原则上可以在对基本类型的元素进行排序时使用并行执行(无论是否使用,都无法观察到),但不能使用用户定义的类型(当然,除非通过执行策略参数明确授予权限)。类型的运算符很可能不是,因为您可以对所有可用线程进行排序。请注意,libstdc++和libc++是两种最流行的实现,它们都是开源的。自C++17以来,您可以调用std::sort(std::execution::par,…)
使其并行运行。我在哪里可以找到有关“执行策略参数”?从哪里引用?我在哪里可以找到关于“执行策略参数”的更多细节?在您最喜欢的C++引用中,例如