Java中的显示器是什么?

2022-08-31 07:32:10

Java 中的并发编程中指的是什么监视器?

当我读到“每个对象都关联了一个监视器”时,它是什么意思?

它是一个特殊的物体吗?


答案 1

监视器是控制对对象的并发访问的机制。

这允许您执行以下操作:

线程 1:

public void a()
{
    synchronized(someObject) {
        // do something (1)
    }
}

线程 2:

public void b()
{
    synchronized(someObject) {
        // do something else (2)
    }
}

这将阻止线程 1 和 2 同时访问受监视(同步)部分。一个将启动,监视器将阻止另一个在第一个完成之前访问该区域。

它不是一个特殊的物体。它的同步机制放置在类层次结构根目录:。java.lang.Object

还有一些方法也可以使用对象的监视器在不同线程之间进行通信。waitnotify


答案 2

监视器是同时具有锁定等待集的实体。在Java中,任何人都可以用作监视器。Object

有关监视器在 Java 中如何工作的详细说明,我建议您阅读 Java 中的并发编程Monitor Mechanics 部分(前面的链接显示了 Google 书籍中的预览,该部分可供阅读)。


推荐