設計模式之單例模式 執行緒安全

2021-09-08 19:49:20 字數 955 閱讀 5307

可以說單例模式是所有設計模式中最簡單的一種。

單例模式就是說系統中對於某類的只能有乙個物件,不可能出來第二個。

單例模式也是23中設計模式中在面試時少數幾個會要求寫**的模式之一。主要考察的是多執行緒下面單例模式的執行緒安全性問題

1.多執行緒安全單例模式例項一(不使用同步鎖)

1 public class singleton 

5 public static singleton getsin()

8 }

上述**中的乙個缺點是該類載入的時候就會直接new 乙個靜態物件出來,當系統中這樣的類較多時,會使得啟動速度變慢 。現在流行的設計都是講「延遲載入」,我們可以在第一次使用的時候才初始化第乙個該類物件。所以這種適合在小系統。 

2.多執行緒安全單例模式例項二(使用同步方法)

1 public class singleton    

6 public static synchronized singleton getinstance()

11 }

上述**中的一次鎖住了乙個方法, 這個粒度有點大 ,改進就是只鎖住其中的new語句就ok。就是所謂的「雙重鎖」機制。

3.多執行緒安全單例模式例項三(使用雙重同步鎖)

1 public class singleton    

5 public static singleton getinstance()

11 }

12 return instance;

13 }

14

15 }

設計模式之單例模式 執行緒安全

可以說單例模式是所有設計模式中最簡單的一種。單例模式就是說系統中對於某類的只能有乙個物件,不可能出來第二個。單例模式也是23中設計模式中在面試時少數幾個會要求寫 的模式之一。主要考察的是多執行緒下面單例模式的執行緒安全性問題。1.多執行緒安全單例模式例項一 不使用同步鎖 1 public class...

設計模式之單例模式 執行緒安全

可以說單例模式是所有設計模式中最簡單的一種。單例模式就是說系統中對於某類的只能有乙個物件,不可能出來第二個。單例模式也是23中設計模式中在面試時少數幾個會要求寫 的模式之一。主要考察的是多執行緒下面單例模式的執行緒安全性問題。1.多執行緒安全單例模式例項一 不使用同步鎖 1 public class...

設計模式之單例模式 執行緒安全

可以說單例模式是所有設計模式中最簡單的一種。單例模式就是說系統中對於某類的只能有乙個物件,不可能出來第二個。單例模式也是23中設計模式中在面試時少數幾個會要求寫 的模式之一。主要考察的是多執行緒下面單例模式的執行緒安全性問題。1.多執行緒安全單例模式例項一 不使用同步鎖 1 public class...