단일 모드 (다중 스레드)

567 단어
package com.lu;

public class Test {

	private volatile static Test instance = null;

	public static Test getInstance() {
		if (null == instance) {
			synchronized (Test.class) {
				if (null == instance) {
					instance = new Test();
				}
			}
		}
		return instance;
	}

	public static void main(String[] args) {
		new GetThread().start();
		new GetThread().start();
		new GetThread().start();
	}
}

class GetThread extends Thread {
	@Override
	public void run() {
		System.out.println(Test.getInstance());
	}
}

참고서적: Head First 디자인 모드

좋은 웹페이지 즐겨찾기