首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

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

2012-03-26 
多核中的函数中局部变量是共享的吗?举个例子:voidfun(){int temp0for(int i 0 i10i++){temp ++}}v

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

热点排行