主题 : 关于互斥的问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 21258
精华: 1
发帖: 120
金钱: 655 两
威望: 131 点
综合积分: 260 分
注册时间: 2010-05-13
最后登录: 2023-11-17
楼主  发表于: 2010-09-07 14:02

 关于互斥的问题

一个全局结构变量 ,如果两个线程A,B 。A去读它,B 去写它。我知道在两个线程A,B中都要用锁来保护全局结构变量的。

但是在线程A,B 中,我 分别用一个局部指针 去 指向那个全局结构变量,一个读,一个写,请问要用锁吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-09-07 14:24

 回 楼主(imjacob) 的帖子

就算你用局部变量指针,指针指向的全局变量还是共享的,这和直接用全局变量有什么区别?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 21258
精华: 1
发帖: 120
金钱: 655 两
威望: 131 点
综合积分: 260 分
注册时间: 2010-05-13
最后登录: 2023-11-17
2楼  发表于: 2010-09-07 16:39
恩。有道理。我也觉得是这样。

但看到一个代码里是 中断 和 对应的下半部线程 共用了一个全局结构变量 ,它没用锁 这种东西。我猜想以为是 这种下半部的关系,导致不会出现竞争的情况的把