社区
C#
帖子详情
有个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
打赏
收藏
有个C# lock问题,大神帮忙解答一下
例如有一个程序如下: A a = new A(); A b = a; A c = a; lock(b) { } lock(c) { } 多线程执行的时候lock(b)的时候lock(c)能上锁么 lock(b)的时候是对引用b上锁还是对引用A的值上锁
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Forty2
2014-09-13
打赏
举报
回复
是对引用A的值上锁,如果A是
引用
类型的话。 多线程对用一个锁的操作
会
出现竞态。
漫天雪飞
2014-09-13
打赏
举报
回复
如果都是引用类型 a ,b ,c 都引用同一个地址 你说呢
C#
LOCK
测试
定义了一个DataTable dt,两个Button,一个createDt,启动一个线程createThread ,死循环往dt里写数据。另一个deleteDt,启动别一个线程deleteThread ,手动点击,清空dt。原码如下: public partial class Form1 : ...
高并发编程-自定义带有超时功能的锁
我们知道synchronized的机制有一个很重要的特点是:使用synchronized, 当一个线程获取了锁,其他线程只能一直等待,等待这个获取锁的线程释放锁,如果这个线程执行时间很长,其他线程就需要一直等待 。 除非获取锁...
C#
、OC递归锁
做ios也有1年了,
C#
的东西有些都忘记了,最近几天也打算重温一下,不能学了ios把
C#
给抛弃了,两者都要抓,一精多专。目前
C#
只是重温,重点是web这块。今天主要是想起了之前做过的面试题,虽然题比较变态,但也有它的意义。...
Lock
锁底层原理
当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出
问题
。java提供了两种方式来加锁, 一种是关键字:synchronized,一种是concurrent包下的
lock
锁。 synchronized是java底层支持...
C#
编程入门基础,开启你的编程之旅
C#
使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,
C#
与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向
C#
。 ............
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章