package Com.bigDataWork_intentjava;
// 懒汉式
public class MySinleton2 {
public static void main(String[] args) {
Order order = Order.getInstance();
Order order3 =Order.getInstance();
System.out.println(order==order3);
System.out.println(order.equals(order3));
}
}
class Order{
private Order() {
}
private static Order Instance=null;
public static Order getInstance(){
if (Instance==null){
synchronized (Order.class){
Instance = new Order();
}
}
return Instance;
}
}
解决办法:
一、在类中使用同步代码块方式,使用当前类作为同步监视器,充当锁,来解决懒汉式线程安全问题。
二、在 静态方法之后加上同步关键字,就是同步方法了。这种效率较低。。。
public static synchronized Order getInstance(){}
总结:
使用第一种效率较高。。