亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

關于線程安全的單例模式

關于線程安全的單例模式

繁星點點滴滴 2018-12-11 14:10:14
public class MyClass{        private MyClass() { }       //保證線程安全的延時加載單例        public static MyClass Instance        {            get { return Nested._Instance; }        }        private class Nested        {            static Nested() { }            internal static readonly MyClass _Instance = new MyClass();        }}最近看到一種單例模式的實現,但實在不理解為何是線程安全的,請各位大牛們賜教
查看完整描述

2 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

線程安全是針對多個線程同時運行來說的,這段代碼中是用靜態變量來實現的,當程序加載時就只有一個實例存在于內存中

查看完整回答
反對 回復 2018-12-15
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

這個用法主要是凸顯延遲加載,只有當第一次調用Instance時才會實例化內聯類里的單件,而且用的都是靜態方法調用,多線程時也不會存在多次實例化的可能。STATIC實現單例是C#有特色的地方,由于內存中只會有一份實例,多個線程同時訪問得到的是同一個_Instance實例。這種內聯+靜態的單例方法我還沒用過喃,互相學習了

查看完整回答
反對 回復 2018-12-15
  • 2 回答
  • 0 關注
  • 728 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號