設計模式之單例模式

2022-09-10 14:45:18 字數 933 閱讀 7968

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

singleton

private

static singleton s = new

singleton();

public

static

singleton getsingleton()

}//懶漢模式:只在呼叫getsingleton方法的時候才會例項化物件,所以載入類時比較快,但執行時獲取物件的速度比較慢,執行緒不安全

public

class

singleton2

private

static

singleton2 s;

public

static

singleton2 getsingleton()

else}}

class

program

else

//懶漢模式

singleton s3 =singleton.getsingleton();

singleton s4 =singleton.getsingleton();

if (s3 ==s4)

else

console.readkey();}}

}

注:懶漢式可以實現延遲載入,但是在多執行緒併發訪問的情況下會出現安全問題,可以通過加同步來解決,只是加上同步效率會稍低,這時候可以再使用雙重判斷來解決這個低效的問題,加同步的時候使用的鎖是該類所屬的位元組碼檔案物件。

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...