第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在.NET中進行雙重檢查鎖定

在.NET中進行雙重檢查鎖定

Qyouu 2019-08-27 16:25:07
在.NET中進行雙重檢查鎖定我在本文中討論了為什么在Java中打破了雙重檢查鎖定范例的原因。如果聲明變量,范例是否對.NET(特別是C#)有效volatile?
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

在C#中實現(xiàn)Singleton模式在第三個版本中討論了這個問題。

它說:

使實例變量volatile可以使其工作,顯式內(nèi)存屏障調(diào)用也是如此,盡管在后一種情況下甚至專家也無法準確地同意需要哪些障礙。我傾向于避免專家不同意什么是對的,哪些是錯的!

作者似乎暗示雙重鎖定比其他策略更不可能工作,因此不應(yīng)該使用。


查看完整回答
反對 回復(fù) 2019-08-27
?
慕碼人8056858

TA貢獻1803條經(jīng)驗 獲得超6個贊

現(xiàn)在,雙重檢查鎖定在Java和C#中工作(Java內(nèi)存模型已更改,這是其中一種效果)。但是,你必須完全正確。如果你稍微搞砸了,你最終可能會失去線程的安全性。

正如其他答案所述,如果您正在實施單例模式,那么有更好的方法可以實現(xiàn)它。就個人而言,如果我處于需要在雙重檢查鎖定和“每次鎖定”代碼之間做出選擇的情況,我每次都要鎖定,直到我得到真正的證據(jù)表明它導(dǎo)致了瓶頸。說到線程,一個簡單而明顯正確的模式是值得的。


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 659 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號