亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

使用Java Lock變量之前要進(jìn)行賦值。為什么?

瀏覽:100日期:2024-04-26 11:50:50
如何解決使用Java Lock變量之前要進(jìn)行賦值。為什么??

當(dāng)您在方法中分配給局部變量時(shí),編譯器可以進(jìn)行一些優(yōu)化。請(qǐng)參見(jiàn)在ArrayBlockingQueue中,為什么將最終成員字段復(fù)制到本地最終變量中?

解決方法

在許多Java源代碼中(例如LinkedBlockingDeque),我看到了類(lèi)似的東西;

final ReentrantLock lock = new ReentrantLock();public void putLast(E e) throws InterruptedException { final ReentrantLock lock = this.lock; lock.lock(); try { // do stuff } finally {lock.unlock(); }}

我了解基本模式(鎖定,最終解鎖),但是我的問(wèn)題是, 為什么在使用它之前先對(duì)本地作用域的Lock變量進(jìn)行賦值? 為什么這樣做而不是以下內(nèi)容?

final ReentrantLock lock = new ReentrantLock();public void putLast(E e) throws InterruptedException { this.lock.lock(); try { // do stuff } finally {lock.unlock(); }}

它會(huì)影響優(yōu)化嗎?第一個(gè)示例可以防止鎖變粗嗎?

評(píng)論后編輯 :如果您真的不知道為什么會(huì)出現(xiàn)這種情況,請(qǐng)不要添加答案。這是從Java來(lái)源獲得的,@author標(biāo)記是DougLea,所以我很確定它的存在是有原因的。請(qǐng)不要指出該代碼是完全等效的。

謝謝

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 成人五级毛片免费播放 | 啪啪欧美 | 一区二区免费视频观看 | 成人9久久国产精品品 | xvideos国产在线视频 | 播播网手机在线播放 | 欧美一二三区视频 | 中文字幕永久在线观看 | 国产91成人 | 经典三级影院 | 日本久久网 | 亚洲国产国产综合一区首页 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片看看 | 国内精品久久久久影院不卡 | 日本a在线观看 | 国语自产精品视频在线区 | 网址大全在线免费观看 | 91尤物在线 | 天天久久综合网站 | 看中国国产一级毛片真人视频 | 亚洲精品国产美女在线观看 | 成人午夜做爰视频免费看 | 国产美女视频一区二区二三区 | 91亚洲区国产区精品区 | 九九精品免视看国产成人 | 午夜视频高清在线aaa | 亚洲国产m3u8在线观看 | 小视频在线观看免费 | 国产农村一级毛片精品 | 综合久久综合 | 黄色免费网站在线 | 黄视频网站观看 | 欧美特欧美特级一片 | 香蕉视频在线网站 | 欧美黑寡妇香蕉视频 | 麻豆精品在线视频 | 国产日韩精品视频一区二区三区 | 国内国语一级毛片在线视频 | 在线观看日本污污ww网站 | 亚洲图区综合网 | 黄在线免费|