멀티스레드 환경에서 Thread Safe 하게 Singleton Pattern 사용하기

[Design Pattern] 싱글톤 패턴(Singleton Pattern) 알아보기

[JAVA] 싱글톤 패턴은 객체가 단 1개만 생성되는 것을 보장할까? 및 자바에서 싱글톤을 구현하는 패턴들 (멀티쓰레드 환경에서 본 관점)

All About the Singleton - DZone

선수지식


JVM의 클래스 로드를 이용한 싱글톤

Singleton Pattern


싱글톤 패턴이란 전체 어플리케이션을 통틀어서 단 하나의 인스턴스만 생성되도록 하는것을 의미한다.

class Singleton {
    private static Singleton myInstance = null;

		**// 외부에서 직접적인 인스턴스 생성을 못하도록 제한한다.**
    private Singleton() {}

    public static Singleton getInstance() {
				**// 이미 생성된 단 한개의 인스턴스만을 제공한다.**
        if (myInstance == null) {
            myInstance = new Singleton();
        }

        return myInstance;
    }
}

멀티스레드 에서의 문제점