2009. 1. 5. 21:57
Single Thread Execution/ Double-Checked Locking/ Initialization On Demand Holder 패턴
2009. 1. 5. 21:57 in 韜光養晦/디자인패턴_멀티쓰레드

public class MySystem{
private static MySystem instance = null;
private Date date = new Date();
private MySystem(){
}
public Date getDate(){
return date;
}
public static synchronized MySystem getInstance(){
if(instance == null){
instance = new MySystem();
}
return instance;
}
}
public class MySystem{
private static MySystem instance = null;
private Date date = new Date();
private Mysystem(){
}
public Date getDate(){
return date;
}
public static MySystem getInstance(){
if(instance == null){
synchronized (MySyste.class){
if(instance == null){
instance = new MySystem();
}
}
}
}
}
public class MySystem{
private static class Holder{
public static MySystem instance = new Mysystem();
}
private Date date = new Date();
private MySystem(){
}
public Date getDate(){
return date;
}
public static Mysystem getInstance(){
return Holder.instance;
}
}