使用同步机制 将单例模式中的懒汉式编程线程安全的
一:synchronized
synchronized 在方法上和
在方法内synchronized(类.class){
需要锁的代码块
} 效果一样
代码:
public class BankTest {
}
class Bank{
private Bank() {}
private static Bank instance =null;
//方式一 效率低
// synchronize(类.class)和public synchronized static Bank getInstance() 一样
// public static Bank getInstance() {
// synchronized (Bank.class) {
// if (instance == null) {
// instance = new Bank();
// }
// return instance;
// }
// }
//方式二 因为最外层有判断 效率高
public static Bank getInstance() {
if(instance ==null) {
synchronized (Bank.class) {
if (instance == null) {
instance = new Bank();
}
}
}
return instance;
}
}