读书人

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

发布时间: 2012-03-26 15:46:56 作者: rapoo

多核中的函数中局部变量是共享的吗?
举个例子:
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是各自的,不会冲突

读书人网 >软件开发

热点推荐