Live2D

单身模式自身存在问题的解决(通过Double-Checked-Locking模式解决的java代码)

代码如下:

public class USTax{

private static USTax instance=null;//

private USTax(){}//设为private,以防止外部对这个类进行直接实例化。

private synchronized static void doSync(){   //为了进行同步控制

if(instance==null){

System.out.println("实例不存在,创建实例...");

instance=new USTax();//创建一个USTax实例

System.out.println("实例创建成功");

}else{

System.out.println("实例已被创建了");

}

}

public static USTax getInstance(){

if(instance==null){

System.out.println("实例暂时不存在");

doSync();//要进行同步控制,故此处应调用同步函数doSync()

}else{

System.out.println("实例已经存在");

}

return instance;

}

}

posted @ 2018-10-29 21:26  幽香飞狐  阅读(45)  评论(0)    收藏  举报
Live2D