您的位置:首页 > 编程语言 > Java开发

JAVA多线程上的单例模式

2017-11-10 16:36 176 查看
之前在上设计模式的时候老师讲了好几种单例模式,最终说每一个单例模式都有问题,原因在于if语句在多线程中同步,即将if语句放在synchronized外面和里面都会出现问题,最终的修改结果是来两个if语句,这样便很好得解决了多线程中条件判断的不同步而带来的问题:

package com.zj;
public class Instance {
private static volatile Instance instance;
static{
Instance.instance=null;
}
public static Instance getInstance(){
if(Instance.instance==null){
synchronized (Instance.class){
if(Instance.instance==null){
Instance.instance=new Instance();
}
}
}
return Instance.instance;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: