private子句
- private子句:表示其所列出的變量對於線程組中的每個線程來說都是私有的。
- lastprivate 子句:不僅包含了private子句的功能,還要將循環的最後一次迭
代之後的變量值賦給原始值 - firstprivate子句:不僅包含了private子句的功能,而且當執行到該並行結構時,用對應變量的原始值初始化該變量
#include <stdio.h>
#include<stdlib.h>
#include<omp.h>
int main()
{
int val=8,i;
#pragma omp parallel for firstprivate(val) lastprivate(val)
for(i=0;i<2;i++)
{
printf("i=%d val=%d\n",i,val);
if(i==1) val=1e4;
printf("i=%d val=%d\n",i,val);
}
printf("val=%d\n",val);
return 0;
}
都無
first+last
first
last