基本上,如果我在监视器中有很多同步方法。这会有效避免死锁吗?
问问题
79 次
1 回答
1
一般来说,不,它不能保证没有死锁。请查看 Deadlocks and Synchronized methods和Deadlock in Java中的代码示例。具有同步方法的两个类 A 和 B 只会产生完美的死锁。
另外,在我看来,您的措辞“具有同步方法的 Java 监视器”虽然在概念上是正确的,但与 Java 中接受的措辞略有不同。例如 java.lang.Object.wait() javadoc 采用以下方式:
“当前线程必须拥有这个对象的监视器”
这隐含地表明对象和监视器不是一回事。相反,监视器是我们无法直接看到或解决的。
于 2013-05-09T13:27:48.360 回答