【问题标题】:Java Monitors: Does having a Java monitor with Synchronised Methods Avoid Deadlocks?Java 监视器:具有同步方法的 Java 监视器是否可以避免死锁?
【发布时间】:2013-05-07 21:19:01
【问题描述】:

基本上,如果我在监视器中有很多同步方法。这会有效避免死锁吗?

【问题讨论】:

    标签: process resources synchronization deadlock monitor


    【解决方案1】:

    一般来说,不,它不能保证不存在死锁。请查看 Deadlocks and Synchronized methodsDeadlock in Java 的代码示例。具有同步方法的 A 和 B 两个类只会产生完美的死锁。

    另外,在我看来,您的措辞“使用同步方法的 Java 监视器”虽然在概念上是正确的,但与 Java 中接受的措辞略有不同。例如 java.lang.Object.wait() javadoc 以下列方式放置:

    "当前线程必须拥有这个对象的监视器"

    这暗示 objectmonitor 不是一回事。相反,监视器是我们无法直接看到或处理的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多