synchronized和ReentrantLock區別

相同點 都是用來協調多線程對共享對象、變量的訪問都是可重入鎖,同一線程可以多次獲得同一個鎖,都保證了可見性和互斥性。 不同點 1、底層實現不一樣,synchronized它是java語言的關鍵字,是原生語法層面的互斥,需要jvm實現。而ReentrantLock它是JDK 1.5之後提供的API層面的互斥鎖,需要lock()和unlock()方法配合try/finally語句塊來完成。也就是說sy
相關文章
相關標籤/搜索