omp_set_dynamic
表示執行階段可以調整後續的平行區域中可用的執行緒數量。
void omp_set_dynamic(
int val
);
備註
其中,
- val
值,指出是否可以由執行階段調整後續的平行區域中可用的執行緒數量。如果不為零,執行階段可以調整執行緒數目,如果是零,執行階段會動態調整執行緒數目。
備註
執行緒數目,將不會超過所設定的值omp_set_num_threads或OMP_NUM_THREADS。
使用omp_get_dynamic以顯示目前設定的omp_set_dynamic。
將omp_set_dynamic將會覆寫的設定值OMP_DYNAMIC環境變數。
如需詳細資訊,請參閱 3.1.7 omp_set_dynamic 函式。
範例
// omp_set_dynamic.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
int main()
{
omp_set_dynamic(9);
omp_set_num_threads(4);
printf_s("%d\n", omp_get_dynamic( ));
#pragma omp parallel
#pragma omp master
{
printf_s("%d\n", omp_get_dynamic( ));
}
}