隐式锁定 - 实际锁定的内容

时间:2014-11-11 04:38:21

标签: java multithreading static synchronization

我的问题几乎等同于What is a class level lock in java

但这是一个后续问题。

实例级别锁定通过锁定实例/对象的关联监视器来工作,但是在类级锁定的情况下谁扮演监视器的角色?隐式锁定如何工作?

感谢你

1 个答案:

答案 0 :(得分:2)

在Java中,要在面向对象的上下文中获取表示,已创建Class类。

因此,当您获得类级锁定时,在静态上下文中,您将获得该“类名”的Class对象实例的关联监视器。

public class com.buck.Foo {

}
例如,

会对类型等效于

的东西进行“类级别锁定”
Class<com.buck.Foo> clazz = Foo.class;

措辞可能很奇怪,但要密切注意大写。

class is a keyword

Class is a type that represents a "class instance"

Foo.class is a convention to refer to an instance which has the type "Class<Foo>"

clazz is a variable which can accept the instance of type "Class<Foo>"