我在理解私人鎖的概念一點困難:線程和同步
public class MyObject {
private final Object lock = new Object(); // private final lock object
public void mymethod() {
synchronized (lock) { // Locks on the private Object
// ...
}
}
}
在上面的代碼中,鎖被獲取的不同的對象上,但在當前的對象的代碼是由同步塊把守。現在,除了上面代碼中的鎖對象之外,它也可以是任何其他對象。我發現很難理解另一個對象上的鎖是如何與當前對象中的synchronized關鍵字相關的。國際海事組織,它可能會導致一些惡意代碼鎖定任何對象。允許鎖定其他對象的基礎是什麼?
在這種情況下,我可以在這個類中創建一個或多個內部類並獲取一個鎖。 – Nirmalya 2010-07-29 17:13:11