A.5 使用關鍵的指示詞的運算式
下列範例包含數個critical指示詞 (一節 2.6.2 18] 頁面上)。 本範例會示範一項工作是從佇列取出並處理佇列的模型。 若要防止多個執行緒取消佇列,相同的工作,清除佇列的操作必須在critical一節。 在這個範例中的兩個佇列都是獨立的因為受到critical指示詞,以不同名稱、 xaxis 和 yaxis。
#pragma omp parallel shared(x, y) private(x_next, y_next)
{
#pragma omp critical ( xaxis )
x_next = dequeue(x);
work(x_next);
#pragma omp critical ( yaxis )
y_next = dequeue(y);
work(y_next);
}