国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

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

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

解決方法

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

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(); }}

我了解基本模式(鎖定,最終解鎖),但是我的問題是, 為什么在使用它之前先對(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來源獲得的,@author標(biāo)記是DougLea,所以我很確定它的存在是有原因的。請(qǐng)不要指出該代碼是完全等效的。

謝謝

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 中文字幕天堂最新版在线网 | 日本一道免费一区二区三区 | 很黄很色的免费视频 | 精品国产一区在线观看 | 九九欧美 | 免费一看一级欧美 | 永久免费不卡在线观看黄网站 | 精品精品国产自在久久高清 | 国产自偷自拍 | 久久久国产精品免费看 | 精品在线免费观看 | 国产a级特黄的片子视频 | 欧美亚洲综合视频 | 手机看片欧美 | 欧美成人欧美激情欧美风情 | 亚洲国产字幕 | 国产精品大全国产精品 | 欧美日韩在线观看区一二 | 国产a国产片国产 | 久久91亚洲精品中文字幕 | 国产精品久久久香蕉 | 91大神大战丝袜美女在线观看 | 91亚洲最新精品 | 婷婷尹人香蕉久久天堂 | 免费特黄一区二区三区视频一 | 亚洲欧美日韩在线线精品 | 成年人免费小视频 | 日本精品高清一区二区不卡 | 成人久久| 欧美国产在线视频 | 姐姐真漂亮在线视频中文版 | 97视频在线观看免费视频 | 国产在线91精品天天更新 | 精品午夜寂寞影院在线观看 | 欧美日本一区二区三区道 | 一级无毛片 | 国产二区自拍 | 亚洲天堂最新网址 | 美国一级毛片a | 亚洲精品不卡午夜精品 | 视频一区二区三区自拍 |