public class SingtonMode {
private static volatile SingtonObject sto;
public static SingtonObject getSto(){
//防止每次获取sto都来争抢锁
if (sto == null){
synchronized (SingtonMode.class){
// 防止第一次获取sto时有多个线程越过第一个if语句,
// 进而导致多次创建SingtonObject。
if (sto == null){
sto = new SingtonObject();
}
return sto;
}
}
return sto;
}
}