wenn (OpenMP)
Gibt an, ob eine Schleife in der Serie oder parallel ausgeführt werden sollte.
if(expression)
Hinweise
Hierbei ist:
- expression
Ein ganzzahliger Ausdruck, der ausgewertet wird, wenn er true (), Ungleich 0 (null) wird der Code im parallelen Bereich wird parallel auszuführen.Wenn der Ausdruck false (null) ergibt, wird der parallelen Bereichs in der Serie ausgeführt (durch einen einzelnen Thread.)
Hinweise
if gilt für die folgenden Direktiven an:
Weitere Informationen finden Sie unter paralleles Konstrukt 2,3.
Beispiel
// omp_if.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
void test(int val)
{
#pragma omp parallel if (val)
if (omp_in_parallel())
{
#pragma omp single
printf_s("val = %d, parallelized with %d threads\n",
val, omp_get_num_threads());
}
else
{
printf_s("val = %d, serialized\n", val);
}
}
int main( )
{
omp_set_num_threads(2);
test(0);
test(2);
}