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");
}
}