Freigeben über


if (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 2.3 parallel-Konstrukt.

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

Siehe auch

Referenz

OpenMP-Klauseln