1. 程式人生 > >lock 和synchronized 的區別

lock 和synchronized 的區別

異常 做了 -s ive 遇到 bsp 加鎖 競爭 主動

1 lock是接口實現,synchronized是內置方法native實現

2 lock可以主動釋放鎖,synchronized只能是加鎖的代碼塊執行完畢或者遇到異常退出被動的釋放鎖

3 性能方面,如果競爭資源不是很激烈的情況,兩者的性能差不太多,如果是在競爭資源激烈的情況下,lock的性能要優於synchronized,但是這個也不是絕對的,

在JDK6 以後對synchronized做了進一步的優化和提升,synchronized的性能也獲得了很大的提升和改進,在一定程度上和lock沒有太明顯的差別

lock 和synchronized 的區別