在C

时间:2018-01-20 15:40:03

标签: c parallel-processing global-variables openmp

我想按照

的方式做点什么
int getal = 0;


void incrementAndPrint() {
  getal = getal + 1;
  printf("%d\n", getal);
}


void main() {
  int times = 100;
  #pragma omp parallel for
  for (int n = 0; n < times; n++) {
    incrementAndPrint(n);
  }
}


/*
Desired output:
1
1
1
1
...
*/

现在发生的事情当然是我以不可预测的顺序得到数字0到99。

有没有办法在每个线程中创建全局变量的私有副本而不必更改大量现有代码?

0 个答案:

没有答案