0
基本上,如果我在監視器中有很多同步方法。這會有效避免死鎖嗎?Java監視器:是否擁有帶有同步方法的Java監視器避免死鎖?
基本上,如果我在監視器中有很多同步方法。這會有效避免死鎖嗎?Java監視器:是否擁有帶有同步方法的Java監視器避免死鎖?
一般來說,不,它並不能保證沒有死鎖。請看 Deadlocks and Synchronized methods和Deadlock in Java的代碼示例。具有同步方法的兩個類A和B只會產生完美的死鎖。
此外,在我看來,您的措辭「同步方法的Java監視器」雖然在概念上是正確的,但稍微偏離了Java中接受的方式。例如,java.lang.Object.wait()的javadoc放入下列方式:
「當前線程必須擁有該對象的監視器」
隱含表明對象和顯示器並不是一回事。相反,監視器是我們沒有直接看到或解決的。