共同點(diǎn)
? ? 1、synchronized和Lock都是可重入鎖
區(qū)別
? ? 1、synchronized是java關(guān)鍵字,而Lock是java中的一個(gè)接口

? ? 2、synchronized會(huì)自動(dòng)釋放鎖,而Lock必須手動(dòng)釋放鎖
? ? 3、synchronized是不可中斷的,Lock可以中斷也可以不中斷

? ? 4、通過Lock可以知道線程有沒有拿到鎖,而synchronized不能
? ? 5、synchronized能鎖住方法和代碼塊,而Lock只能鎖住代碼塊
? ? 6、Lock可以使用讀鎖提高多線程讀效率
? ? 7、synchronized是非公平鎖,ReentranLock可以控制是否公平鎖