1钝诚、ReentrantLock 擁有Synchronized相同的并發(fā)性和內(nèi)存語義颖御,此外還多了 鎖投票,定時(shí)鎖等候和中斷鎖等候
線程A和B都要獲取對(duì)象O的鎖定凝颇,假設(shè)A獲取了對(duì)象O鎖潘拱,B將等待A釋放對(duì)O的鎖定疹鳄,
如果使用 synchronized ,如果A不釋放泽铛,B將一直等下去尚辑,不能被中斷
如果 使用ReentrantLock,如果A不釋放盔腔,可以使B在等待了足夠長(zhǎng)的時(shí)間以后杠茬,中斷等待,而干別的事情
2弛随、synchronized是Java中的關(guān)鍵字瓢喉,synchronized是內(nèi)置的語言實(shí)現(xiàn),是在JVM層面上實(shí)現(xiàn)的,不但可以通過一些監(jiān)控工具監(jiān)控synchronized的鎖定舀透,而且在代碼執(zhí)行時(shí)出現(xiàn)異常栓票,JVM會(huì)自動(dòng)釋放鎖定.使用Lock則不行,lock是通過代碼實(shí)現(xiàn)的愕够,要保證鎖定一定會(huì)被釋放走贪,就必須將unLock()放到finally{}中
3、在資源競(jìng)爭(zhēng)不是很激烈的情況下惑芭,Synchronized的性能要優(yōu)于ReetrantLock坠狡,但是在資源競(jìng)爭(zhēng)很激烈的情況下,Synchronized的性能會(huì)下降幾十倍遂跟,但是ReetrantLock的性能能維持常態(tài)逃沿;
4)通過Lock可以知道有沒有成功獲取鎖,而synchronized卻無法辦到幻锁。
Lock與synchronized 的區(qū)別
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門媒峡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人葵擎,你說我怎么就攤上這事谅阿。” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵签餐,是天一觀的道長(zhǎng)寓涨。 經(jīng)常有香客問我,道長(zhǎng)氯檐,這世上最難降的妖魔是什么戒良? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮冠摄,結(jié)果婚禮上糯崎,老公的妹妹穿的比我還像新娘。我一直安慰自己河泳,他們只是感情好沃呢,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拆挥,像睡著了一般薄霜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纸兔,一...
- 文/蒼蘭香墨 我猛地睜開眼痹届,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼呻待!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起队腐,我...
- 序言:老撾萬榮一對(duì)情侶失蹤蚕捉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后柴淘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迫淹,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年为严,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了敛熬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布繁仁,位于F島的核電站,受9級(jí)特大地震影響归园,放射性物質(zhì)發(fā)生泄漏黄虱。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一庸诱、第九天 我趴在偏房一處隱蔽的房頂上張望捻浦。 院中可真熱鬧,春花似錦偶翅、人聲如沸默勾。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽母剥。三九已至,卻和暖如春形导,著一層夾襖步出監(jiān)牢的瞬間环疼,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓阎曹,卻偏偏與公主長(zhǎng)得像伪阶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子处嫌,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Java8張圖 11栅贴、字符串不變性 12、equals()方法熏迹、hashCode()方法的區(qū)別 13檐薯、...
- Lock與synchronzied相比的缺點(diǎn): synchronized提供了便捷性的隱式獲取鎖釋放鎖機(jī)制(主要基...
- 摘要: 我們已經(jīng)知道,synchronized 是Java的關(guān)鍵字注暗,是Java的內(nèi)置特性坛缕,在JVM層面實(shí)現(xiàn)了對(duì)臨界...
- 一、線程同步問題的產(chǎn)生及解決方案 問題的產(chǎn)生:Java允許多線程并發(fā)控制捆昏,當(dāng)多個(gè)線程同時(shí)操作一個(gè)可共享的資源變量時(shí)...
- Java并發(fā)總結(jié) 1.多線程的優(yōu)點(diǎn) 資源利用率更好 程序在某些情況下更簡(jiǎn)單 程序響應(yīng)更快 2.創(chuàng)建線程 1.實(shí)現(xiàn)R...