單例模式的意思就是整個系統只建立一個實例,不管你new幾多遍,都只有一個實例,下面就為你介紹C#說話中實現單例模式的體例
靜態變量實現單例模式,這種體例是將只有一個實例的工作交給了公共說話運行時CLR,讓它來包管單例
靜態機關函數實現單例模式,顯示實現無參靜態機關函數,在此中初始化靜態實例,同樣是利用CLR來包管單例的
單線程的單例模式,不合用于多線程。仍然仍是利用靜態實例變量,只是公開一個自界說的實例方式,只有挪用這個方式的時辰,才會初始化這個實例
單線程的單例模式,在多線程下測試結果如圖所示,實例被建立了多次
多線程的單例模式,增添一個靜態object變量,在初始化之前lock住這個變量
多線程的單例模式,在多線程下測試結果如圖所示,實例僅建立了一次,可是仍然會lock多次變量
多線程的單例模式改良,lock之前,判定實例是否已經建立,若是建立了就直接返回,從而改良機能
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!