共用方式為


3.1.9 omp_set_nested 函式

Omp_set_nested 函式啟用或停用巢狀的平行處理原則。 格式如下:

#include <omp.h>
void omp_set_nested(int nested);

如果巢狀會評估為 0,巢狀化平行處理原則已停用,這是預設值,並序列化和目前的執行緒執行的巢狀的平行區域。 如果巢狀會評估為非零的值,巢狀的平行處理原則啟用,巢狀的平行區域可以部署額外的執行緒,以形成巢狀的小組。

這個函式具有前文所述,從程式的一部分呼叫時的效果, omp_in_parallel 函式會傳回零。 如果從程式的一部分呼叫, omp_in_parallel 函數會傳回非零值,這個函式的行為是未定義。

這個呼叫的優先順序必高於 OMP_NESTED 環境變數。

巢狀的平行處理原則啟用時,用來執行巢狀的平行區域的執行緒數目是由實作定義。 如此一來,OpenMP 相容的實作允許序列化巢狀的平行區域,即使在巢狀的平行處理原則已啟用。

交互參照:

  • OMP_NESTED 環境變數,請參閱 4.4 節在 49] 頁面上。

  • omp_in_parallel 函式,請參閱一節 3.1.6 在頁面上 38。