社区
英特尔边缘计算技术
帖子详情
多核中的函数中局部变量是共享的吗?
modyaj
2012-03-18 04:50:34
举个例子:
void fun(){
int temp=0;
for(int i= 0 ; i<10;i++){
temp ++;
}
}
void main(){
#pragma omp parallel num_threads(2)
{
fun();
}
}
像这样情况下 fun中的temp是共享变量吗 会产生伪共享吗?
...全文
133
2
打赏
收藏
多核中的函数中局部变量是共享的吗?
举个例子: void fun(){ int temp=0; for(int i= 0 ; i<10;i++){ temp ++; } } void main(){ #pragma omp parallel num_threads(2) { fun(); } } 像这样情况下 fun中的temp是共享变量吗 会产生伪共享吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
modyaj
2012-03-20
打赏
举报
回复
非常感谢!!!
昵称很不好取
2012-03-18
打赏
举报
回复
局部变量,不用加锁,是可重入的
每个线程都有自己的堆栈,temp是各自的,不会冲突
Win32 多线程程序设计(pdf)
Win32 多线程程序设计
Pthread多线程编程指南
多线程编程指南,SUN的Pthread线程库手册,
中
文版的。
多核
cpu调用的
函数
接口
多核
cpu都需要调用的
函数
接口在设计实现以及调用的时候需要注意 一些地方: 比如:现在有一个
函数
A,当前环境下有8个cpu; 由于每个cpu都会调用到该
函数
A,所以我们在向A传参数的时 候,参数的设计一定要谨慎实用
局部变量
,因为调用该
函数
的
函数
接 口B,只是负责向其传递参数,但是如果你使用
局部变量
,有可能参数 传入之后,有一个cpu处理完之后,就直接返回,从而释放了该局部
多线程 : 多线程
共享
局部变量
的方法
1. 操作相同时,写一个 Runnable 实现类,内部设置成员变量,run 方法修改该变量,将该Runnable传给不同Thread使用; 2. 操作不同时,在Thread调用类实例化一个数据实例,传递给不同Runnable处理,再把不同的Runnable传给不同Thread使用; 3. 在Thread调用类实例化一个数据实例,使用内部Runnable类直接访问该数据实例进行处理,再把Run
全局变量和
局部变量
在工作的时候,发现有很多细节不注意,会出现各种奇奇怪怪的问题,今天分享全局变量和
局部变量
的区别,一直觉得自己很清楚两者的不同,不查不知道,一查发现自己还有很多的盲区,知道越多,越觉得自己了解越少,一定要多向前辈们学习才是啊,在此向各位一直在路上的前辈们致敬。
英特尔边缘计算技术
567
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章