并行

定义并行区域,是将由多个线程并行执行。

#pragma omp parallel [clauses]
{
   code_block
}

备注

其中,

  • clause(可选)
    零或多个子句。 为 并行支持子句的列表参见 " 备注 " 节。

备注

并行 指令支持以下 OpenMP 子句:

并行 也可以用于 部分(OpenMP)(OpenMP) 指令。

有关更多信息,请参见 2.3并行构造

示例

下面的示例演示如何设置线程的数量和定义并行区域。 默认情况下,线程的数量与逻辑处理器数相等计算机上的。 例如,因此,如果您具有已启用 hyperthreading 的实际处理器的计算机,则会有两个逻辑处理器,因此,因此,两个线程。

// omp_parallel.cpp
// compile with: /openmp 
#include <stdio.h>
#include <omp.h>

int main() {
   #pragma omp parallel num_threads(4)
   {
      int i = omp_get_thread_num();
      printf_s("Hello from thread %d\n", i);
   }
}
  

注释

请注意输出顺序在不同的计算机可能会有所不同。

请参见

参考

OpenMP指令