synchronized(class)和staticsynchronized的区别
答案:2 悬赏:40
解决时间 2021-12-20 04:43
- 提问者网友:前事回音
- 2021-12-19 12:12
请教,我我现在的理解 static synchronized是得到这个类对象(唯一)的锁,那synchronized(类名.class)好像也是得到这个类对象的锁。。。这两个写法效果是完全一样的吗?求大神指点。(注意 问的不是synchronized和static synchronized的区别)
最佳答案
- 二级知识专家网友:强势废物
- 2021-12-19 12:58
synchronized (lock) { } 更灵活嘛。我们可以选择缩写锁定的范围,提高并发性能和降低死锁的可能性。
直接在方法上加锁就要把这个方法精简到期望的范围。这也没有什么大的差异,只是我们在设计程序时需要仔细推敲。
直接在方法上加锁就要把这个方法精简到期望的范围。这也没有什么大的差异,只是我们在设计程序时需要仔细推敲。
全部回答
- 1楼网友:留下所有热言
- 2021-12-19 13:59
static的方法属于类方法,它属于这个class(注意:这里的class不是指class的某个具体对象),那么static获取到的锁,就是当前调用这个方法的对象所属的类(class,而不再是由这个class产生的某个具体对象了)。而非static方法获取到的锁
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯