单个
允许您不必指定应在单个线程上执行代码的一部分,主线程。
#pragma omp single [clauses]
{
code_block
}
参数
- clause(可选)
零个或多个子句。 为 单个支持子句的列表参见 " 备注 " 节。
备注
单个 指令支持以下 OpenMP 子句:
母版 指令允许您指定在主线程只应执行代码的一部分。
有关更多信息,请参见 2.4.3唯一构造。
示例
// 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");
}
}