Lock和synchronized的選擇

Lock是一個接口,synchronized是java關鍵字monitor,synchronized是內置的語言實現的CAS synchronized在發生異常時,會自動釋放線程佔有的鎖,因此不會導致死鎖發生;而lock異常時沒有主動通過unlock()釋放鎖,則很可能會造成假死現象,因此使用Lock需要在finally塊中釋放鎖; Lock可以讓等待鎖響應中斷,而synchronized卻不行,
相關文章
相關標籤/搜索