功能區(qū)別:
便利性:很明顯Synchronized的使用比較方便簡(jiǎn)潔蛛株,并且由編譯器去保證鎖的加鎖和釋放奸焙,而ReenTrantLock需要手工聲明來(lái)加鎖和釋放鎖崇裁,為了避免忘記手工釋放鎖造成死鎖嗽冒,所以最好在finally中聲明釋放鎖礁扮。
鎖的細(xì)粒度和靈活度:很明顯ReenTrantLock優(yōu)于Synchronized
ReenTrantLock獨(dú)有的能力:
1.??????ReenTrantLock可以指定是公平鎖還是非公平鎖知举。而synchronized只能是非公平鎖。所謂的公平鎖就是先等待的線程先獲得鎖太伊。
2.??????ReenTrantLock提供了一個(gè)Condition(條件)類雇锡,用來(lái)實(shí)現(xiàn)分組喚醒需要喚醒的線程們,而不是像synchronized要么隨機(jī)喚醒一個(gè)線程要么喚醒全部線程僚焦。
3.??????ReenTrantLock提供了一種能夠中斷等待鎖的線程的機(jī)制锰提,通過(guò)lock.lockInterruptibly()來(lái)實(shí)現(xiàn)這個(gè)機(jī)制。
個(gè)人公號(hào):【排骨肉段】芳悲,可以關(guān)注一下立肘。