Singleton单例模式
生活随笔
收集整理的這篇文章主要介紹了
Singleton单例模式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。
在計(jì)算機(jī)系統(tǒng)中,線程池、緩存、日志對(duì)象、對(duì)話框、打印機(jī)、顯卡的驅(qū)動(dòng)程序?qū)ο蟪1辉O(shè)計(jì)成單例。
看下執(zhí)行結(jié)果
實(shí)例化對(duì)象動(dòng)作執(zhí)行了4次,說(shuō)明并發(fā)情況下有問(wèn)題;
改下實(shí)現(xiàn)方式,增加鎖
public static Singleton Instance(){if (singleton == null){lock (lockObj){Console.WriteLine("實(shí)例化對(duì)象");singleton = new Singleton();}}return singleton;}看下執(zhí)行結(jié)果
依然不能保證
加鎖并雙重驗(yàn)證
public static Singleton Instance(){if (singleton == null){lock (lockObj){if (singleton == null){Console.WriteLine("實(shí)例化對(duì)象");singleton = new Singleton();}}}return singleton;}看下執(zhí)行結(jié)果
這下就不會(huì)有并發(fā)的問(wèn)題了
轉(zhuǎn)載于:https://www.cnblogs.com/sands/p/11460249.html
總結(jié)
以上是生活随笔為你收集整理的Singleton单例模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Abstract Factory抽象工厂
- 下一篇: Nuget打包类库及引用