国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Lock與synchronized 的比較學(xué)習(xí)

2019-11-10 19:58:50
字體:
供稿:網(wǎng)友

一些比較

Lock是一個(gè)接口,而synchronized是java中的關(guān)鍵字,synchronized是內(nèi)置的語言實(shí)現(xiàn);synchronized在發(fā)生異常時(shí),會自動(dòng)釋放線程占有的鎖,因此不會導(dǎo)致死鎖現(xiàn)象發(fā)生;而Lock在發(fā)生異常時(shí),如果沒有主動(dòng)通過unLock()去釋放鎖,則很可能造成死鎖現(xiàn)象,因此使用Lock時(shí)需要在finally塊中釋放鎖;Lock可以讓等待鎖的線程響應(yīng)中斷,而synchronized卻不行,使用synchronized時(shí),等待的線程會一直等待下去,不能夠響應(yīng)中斷;通過Lock可以知道有沒有成功獲取鎖,而synchronized卻無法辦到。

如果競爭資源不激烈,兩者的性能是差不多的,而當(dāng)競爭資源非常激烈時(shí)(即有大量線程同時(shí)競爭),此時(shí)Lock的性能要遠(yuǎn)遠(yuǎn)優(yōu)于synchronized;

如何選擇

一般情況下優(yōu)先選用synchronized,在一些情況下考慮用Lock比如,需要鎖等待,鎖中斷,高度爭用,讀寫鎖等情況下。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东安县| 曲水县| 丹江口市| 西藏| 微山县| 陈巴尔虎旗| 宿迁市| 城步| 天等县| 商城县| 临夏市| 岱山县| 黄大仙区| 随州市| 新丰县| 西峡县| 遵化市| 辛集市| 陆河县| 枣强县| 晴隆县| 衡山县| 阿鲁科尔沁旗| 孝昌县| 嘉义市| 成都市| 新泰市| 临沂市| 分宜县| 普安县| 鹿邑县| 铜山县| 黄浦区| 久治县| 丹巴县| 谷城县| 那曲县| 商水县| 南昌县| 永顺县| 大同县|