共用方式為


已排序的指示詞的 A.23 範例

可以有多個已排序的區段與for指定具有ordered子句。 第一個範例中是不相容,因為 API 會指定下列:

"的迴圈反覆運算for建構必須不會執行相同ordered指示詞超過一次,而且它必須不會執行一個以上的ordered指示詞。" (請參閱一節 2.6.6 在頁面上 22)

在此不相容的範例中,所有反覆項目會執行兩個已排序的區段:

#pragma omp for ordered
for (i=0; i<n; i++) 
{
    ...
    #pragma omp ordered
    { ... }
    ...
    #pragma omp ordered
    { ... }
    ...
}

下列標準的範例所示for具有多個已排序的區段:

#pragma omp for ordered
for (i=0; i<n; i++) 
{
    ...
    if (i <= 10) 
    {
        ...
        #pragma omp ordered
        { ... }
    }
    ...
    (i > 10) 
    {
        ...
        #pragma omp ordered
        { ... }
    }
    ...
}