synchronized和lock

一.synchronized的缺陷 如果一個代碼塊被synchronized修飾了,當一個線程獲取了對應的鎖,並執行該代碼塊時,其他線程便只能一直等待,等待獲取鎖的線程釋放鎖,而這裏獲取鎖的線程釋放鎖只會有兩種情況: 1)獲取鎖的線程執行完了該代碼塊,然後線程釋放對鎖的佔有; 2)線程執行發生異常,此時JVM會讓線程自動釋放鎖。 那麼如果這個獲取鎖的線程由於要等待IO或者其他原因(比如調用slee
相關文章
相關標籤/搜索