Lock與synchronized的區別如下:
是一個接口,synchronized則是內置的語言實現,在java中是一個關鍵字。
hronized會自動釋放鎖,而Lock必須手動釋放鎖。
可以讓等待鎖的線程響應中斷,而synchronized不會,線程會一直等待下去。
4.通過Lock可以知道線程有沒有拿到鎖,而synchronized不能。
能提高多個線程讀操作的效率。
hronized能鎖住類、方法和代碼塊,而Lock是塊範圍內的。
實現了提供比使用 synchronized 方法和語句可獲得的更廣泛的鎖定操作