1. 並發包中的ReentrantLock是偏向鎖河輕量級鎖碼?
是的。
2. 偏向鎖跟可重入性有什么區別,非偏向鎖如何實現可重入?
偏向鎖和可重入性直接沒啥關系。。
當然要是鎖不具備可重入性,那就無所謂偏向了。
可重入性是指比如一個線程獲得了對象A上的鎖,如果它第二次請求A的鎖必然可以獲得(也就是說不會自己把自己鎖住),可重入性是線程必須滿足的,不然很多代碼就會死鎖了
偏向鎖是說如果線程請求一個自己已經獲得的鎖,它不會去再次執行lock和unlock,這樣可以提升性能。
如何實現可重入都是一樣的,就是把鎖的擁有者記下來,當申請鎖的時候看一下鎖是否已經被占有了,如果有人占着鎖,看看是不是就是申請者自己。