天天看點

使用同步的方式将單例模式中的懶漢式改寫為線程安全的

1 package com.atfu.java01;
 2 
 3 /**
 4  * 使用同步的方式将單例模式中的懶漢式改寫為線程安全的
 5  *
 6  * @author fu jingchao
 7  * @creat 2021/10/18-21:47
 8  */
 9 public class BankTest {
10     public static void main(String[] args) {
11 
12     }
13 }
14 
15 class Bank{
16     private Bank(){
17 
18     }
19     private static Bank instance = null;
20     public static  Bank getInstance(){//靜态方法的鎖就是目前類本身
21         //方式一:效率稍差
22 //        synchronized (Bank.class) {
23 //            if(instance == null){
24 //                instance = new Bank();
25 //            }
26 //        return instance;
27 //        }
28         //方式二:
29         if(instance == null){
30 
31             synchronized (Bank.class) {
32                 if(instance == null){
33                     instance = new Bank();
34                 }
35             }
36         }
37         return instance;
38     }
39 
40 }      

此為本人學習筆記,若有錯誤,請不吝賜教