インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド

omp threadprivate

各スレッドにプライベートとして割り当てられるグローバル変数のリストを指定します。

構文

#pragma omp threadprivate (list)

引数

list

スレッドに対してプライベートな変数のカンマ区切りのリスト。

説明

このプラグマでリストされた変数は、各並列チームのスレッドごとにプライベートとして割り当てられます。

スレッドが並列ループの反復を実行するたびにカウンターをインクリメントする例

int counter;
#pragma omp threadprivate(counter);
  int N, i;
  int *a, *b, *c;
  allocate_and_initialize(a, b, c, N);

#pragma omp parallel for { counter = 0; }

#pragma omp parallel for schedule(dynamic)
  for(i=0; i<N; i++) {
   	a[i] = b[i] + c[i];
   	counter++;
}
 deallocate(a, b, c, N);