더북(TheBook)

경합 조건을 신경 쓰지 않고 살려면 인스턴스를 반환하기 전까지 독방에 가둬놓아야 합니다. 자바에서는 으레 synchronized 키워드로 잠금장치를 걸어둡니다(코드 4-2).

코드 4-2 스레드-안전을 위해 싱글톤을 동기화

package com.devchronicles.singleton;
 
public class MySingleton {
 
private static MySingleton instance;
 
private MySingleton() {}
 
public static synchronized MySingleton getInstance() {
    if (instance == null){
        instance = new MySingleton();
    }
    return instance;
}
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.