首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 2.0 泛型實現單例模式重用 (2):SingletonProvider 使用範例與多執行緒測試驗證

     編輯:關於C語言

泛型約束關鍵

where T : new() 強制型別參數 T 擁有公用無參數建構子,使 SingletonCreator 能以 new T() 實例化。

測試類別

public class TestClass
{
    private string _createdTimestamp;
    public TestClass() => _createdTimestamp = DateTime.Now.ToString();
    public void Write() => Debug.WriteLine(_createdTimestamp);
}

使用方式

SingletonProvider.Instance.Write();

任何執行緒、任何時間呼叫,皆回傳同一個實例的相同時間戳記。

多執行緒壓力測試

  • 環境:超執行緒雙處理器。
  • 100 執行緒並發存取單例。
  • 結果:所有執行緒回傳相同時間戳記,驗證執行緒安全。

泛型將單例骨架抽離為可重用 SingletonProvider<T>,極大簡化程式碼,保持彈性 (可單例也可非單例使用)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved