public class ConfigSingletonFactory {
private volatile static Dependencies dependenciesUniqueInstance = null;
public static Dependencies getDependenciesInstance() {
**// 首先这层的判断是用来防止每次调用 线程直接面对同步锁
// 那样的话造成线程每次调用都先堵到同步锁这一块,造成程序缓慢**
if (dependenciesUniqueInstance == null) {
synchronized (Dependencies.class) {
**
```java
// 这里再加判断是因为如果有多个线程阻塞到同步锁外,但是又在第一层判断里
// 所以就需要在加一层判断,以防止多次创建对象
**
if (dependenciesUniqueInstance == null) {
dependenciesUniqueInstance = new Dependencies();
}
}
}
return dependenciesUniqueInstance;
}
}