【JAVA書單】-《JAVA多線程核心技術》-第六章 單列模式與多線程

此文是對《JAVA多線程編程核心技術》的一點總結,如果想要了解具體細節可以去看原書。

第六章 單列模式與多線程

我之前最經常使用的單列:

public class MyObject {
    private volatile static MyObject myObject;
    private MyObject() {}

    //使用雙檢測來解決問題,既保證了不需要同步代碼的異步執行性
    //又保證了單列的效果
    public static MyObject getInstance() {
        if (myObject != null) {
        }else {
            synchronized (MyObject.class) {
                if (myObject == null) {
                    myObject = new MyObject();
                }
            }
        }
        return myObject;
    }
}

使用靜態內置類實現單列模式

public class MyObject2 {
    //內部類方式
    private static class MyObject2Handler {
        private static MyObject2 myObject2 = new MyObject2();
    }
    private MyObject2() {
    }

    public static MyObject2 getInstance() {
        return MyObject2Handler.myObject2;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章