if (OpenMP)
직렬 또는 병렬 루프 실행 여부를 지정 합니다.
if(expression)
설명
다음은 각 매개 변수에 대한 설명입니다.
- expression
True (0이)로 계산 되는 경우, 동시에 수행 하는 병렬 영역에는 코드에서 발생 정수 식입니다. 식이 false (0)가 되 면 병렬 영역 (단일 스레드에서만) 일련의 실행 됩니다.
설명
if다음 지시문에 적용 됩니다.
자세한 내용은 2.3 parallel 구문를 참조하십시오.
예제
// 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);
}