当前位置:  开发笔记 > 编程语言 > 正文

Java:超类中的synchronized方法获取与子类中的同一个锁,对吧?

如何解决《Java:超类中的synchronized方法获取与子类中的同一个锁,对吧?》经验,为你挑选了2个好方法。

是的,你是对的,你也得到了正确的解释.没什么可补充的.

请注意,如果方法是静态的,那么它们将在不同的对象上同步,即它们各自的类(A和B).

编辑:为什么我确定?我不知道,你为什么不确定?;-) myObject只是一个对象 - myObject来自A类的属性和来自B类的属性之间没有任何区别.(从技术上讲,你可以使用反射来找出哪些是哪个,所以必须有一些区别,但暂时忘记了反思.对于对象的常见操作没有区别.)



1> David Z..:

是的,你是对的,你也得到了正确的解释.没什么可补充的.

请注意,如果方法是静态的,那么它们将在不同的对象上同步,即它们各自的类(A和B).

编辑:为什么我确定?我不知道,你为什么不确定?;-) myObject只是一个对象 - myObject来自A类的属性和来自B类的属性之间没有任何区别.(从技术上讲,你可以使用反射来找出哪些是哪个,所以必须有一些区别,但暂时忘记了反思.对于对象的常见操作没有区别.)



2> pgras..:

是的,synchronized等同于synchronized(this).

更确切地说:

对于类(静态)方法,使用与方法类的Class对象关联的锁.对于实例方法,使用与此关联的锁(调用该方法的对象).

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有