当前位置: 代码迷 >> 多核软件开发 >> 多核中的函数中局部变量是共享的吗?该如何解决
  详细解决方案

多核中的函数中局部变量是共享的吗?该如何解决

热度:4996   发布时间:2013-02-26 00:00:00.0
多核中的函数中局部变量是共享的吗?
举个例子:
void fun(){
int temp=0;
for(int i= 0 ; i<10;i++){
temp ++;
}
}
void main(){
#pragma omp parallel num_threads(2) 
{
  fun();
}
}

像这样情况下 fun中的temp是共享变量吗 会产生伪共享吗?

------解决方案--------------------------------------------------------
局部变量,不用加锁,是可重入的
每个线程都有自己的堆栈,temp是各自的,不会冲突
  相关解决方案