single

允许您不必指定应在单个线程上执行代码的一部分,主线程。

#pragma omp single [clauses] 
{
   code_block  
}

参数

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

备注

单个 指令支持以下 OpenMP 子句:

master 指令允许您指定在主线程只应执行代码的一部分。

有关更多信息,请参见 2.4.3 single 构造

示例

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

int main() {
   #pragma omp parallel num_threads(2)
   {
      #pragma omp single
      // Only a single thread can read the input.
      printf_s("read input\n");
      
      // Multiple threads in the team compute the results.
      printf_s("compute results\n");

      #pragma omp single
      // Only a single thread can write the output.
      printf_s("write output\n");
    }
}
  

请参见

参考

OpenMP 指令