有个C# lock问题,大神帮忙解答一下

lulianqi369 2014-09-13 02:58:06
例如有一个程序如下:
A a = new A();
A b = a;
A c = a;

lock(b)
{
}
lock(c)
{
}
多线程执行的时候lock(b)的时候lock(c)能上锁么
lock(b)的时候是对引用b上锁还是对引用A的值上锁
...全文
87 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forty2 2014-09-13
  • 打赏
  • 举报
回复
是对引用A的值上锁,如果A是引用类型的话。 多线程对用一个锁的操作出现竞态。
漫天雪飞 2014-09-13
  • 打赏
  • 举报
回复
如果都是引用类型 a ,b ,c 都引用同一个地址 你说呢

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧