openMP私有变量
下面这段程序
int i=0;
int a=1;
#pragma omp parallel for private(i,a)
for(i=0;i<5;i++)
{
a ++;
printf("Thread %d has a value of a = %d for i = %d\n",
omp_get_thread_num(),a,i);
}
输出结果为什么是:
Thread 0 has a value of a = 4078209 for i = 0
Thread 1 has a value of a = 1 for i = 3
Thread 0 has a value of a = 4078210 for i = 1
Thread 1 has a value of a = 2 for i = 4
Thread 0 has a value of a = 4078211 for i = 2
双核机器,在线程 0 上难道变量a就没有初始化吗?