使用enum列舉資料型別實現多執行緒中的單例模式

2021-07-27 22:56:14 字數 865 閱讀 3795

本文講解兩方面的內容

1.列舉的使用

2.多執行緒中單例模式的實現

1.列舉的使用

參看自定義列舉類如下

public class myobject 

//set,get方法

public string getname()

public void setname(string name)

public int getindex()

public void setindex(int index)

}}

2.多執行緒中單例模式的實現

(1)使用靜態變數載入(餓漢式)

(2)延遲載入(懶漢式)

懶漢式中的同步問題解決:

public class myobject else}}

} catch (interruptedexception e)

return myobject;

}}

(3)使用靜態內建類實現單例模式

這個和靜態變數載入相似,只是將該語句新增到內部類中

(4)使用靜態**塊實現單例模式

(5)序列化與反序列化中出先new例項,破壞了單例;解決方法是在反序列化中使用readresolve()方法獲取物件

(6) 使用enum列舉實現單例模式

public enum myobject2 

//返回該屬性

public connection getconnection()

}

如上所示,即便是多個執行緒獲取連線,也只會有乙個connection

列舉型別enum用法 Golang 列舉使用

go 語言沒有enum關鍵字的,通過使用const iota可以實現列舉的能力。本篇文章將 幾個問題 為什麼要使用列舉,沒了它就不行嘛?如何在 go 語言中優雅的使用列舉。stackoverflow 上有個問題 what are enums and why are they useful?中的回答很...

C資料型別 列舉 enum 和switch語句

main.m lessoncondition created by lanouhn on 14 7 16.import 列舉型別是乙個構造型別,它使一組整型常量羅列出了有的可能性 定義列舉,使用關鍵字enum 列舉型別的名字 最後的分號不能少 列舉型別將人能夠識別的識別符和計算機能夠識別的數字對應起...

C資料型別 列舉enum 和switch語句

main.m lessoncondition created by lanouhn on 14 7 16.copyright c 2014年 vaercly 163.com 陳聰雷.all rights reserved.import 列舉型別是乙個構造型別,它使一組整型常量羅列出了有的可能性 定義...