單例模式就自己理解

2021-10-05 05:13:18 字數 1496 閱讀 9093

為什麼要出現單例化?

在unity中,會不可避免地出現各指令碼之間的互動,但互動過多,會使得**的維護變得非常麻煩。為了減少消耗,一般都是宣告乙個全域性指令碼並宣告乙個全域性變數,讓各指令碼之間的互動變成與此僅一例指令碼互動。一般用於管理系統。

單例化的特點

1、單例類只能有乙個例項。

2、單例類必須自己建立自己的唯一例項。

3、單例類必須給所有其他物件提供這一例項,以靜態方法獲取。

就我而言,單例化的簡單方法

public

class

a}

為了確保唯一性

public

class

a}

在unity中,單例化簡單的引用為引用、繼承方法。例如引用。宣告兩個指令碼,在b中引用a的bool值。

但是,這樣子的單例化執行緒並不安全,在開啟另乙個執行緒時,系統檢測不到instance的存在,會出現建立乙個單例,這樣子,每乙個執行緒都會建立單例。

借鑑於網上的更加好的方法,但是效能消耗大

public

class

apublic

static

agetinstance()

return instance;

}}

雙鎖(懶漢模式的一種),效能消耗更小

public

class

apublic

static

agetinstance()

}}return instance;

}}

管理模式,省去重複單例化,直接繼承

public

class

awhere t :

new(

)//?

public

static

tgetinstance()

}}return instance;}}

public

classb:

a

小新見解,有錯敬請大佬糾正。

單例模式理解

單例模式 三要素 1 私有的構造方法 2 私有的靜態的例項物件 3 公共的靜態的提供訪問方法 根據單例模式的建立時機可以將其分為兩種型別 1 懶漢模式 在系統初始化時不會做初始化,會在什麼時候使用到時做初始化操作。public class ehanmoshi private static lanha...

單例模式理解

摘要 本文首先概述了單例模式產生動機,揭示了單例模式的本質和應用場景。緊接著,我們給出了單例模式在單執行緒環境下的兩種經典實現 餓漢式 和懶漢式,但是餓漢式是執行緒安全的,而懶漢式是非執行緒安全的。在多執行緒環境下,我們特別介紹了五種方式來在多執行緒環境下建立執行緒安全的單例,即分別使用synchr...

理解單例模式

對單例模式這一部落格的理解。在多執行緒時不能正常工作,因為沒有加synchronized 所以嚴格來說不能算是單例模式。public class singleton public static singleton getinstance return instance public class si...