单例懒汉线程安全代码
时间: 2023-07-02 18:19:20 浏览: 95
线程安全单例
以下是使用双重检查锁定实现的懒汉式单例模式代码,可以确保线程安全:
```java
public class Singleton {
private volatile static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
```
以上代码中,使用了 volatile 关键字来确保 instance 变量对所有线程的可见性,双重检查锁定机制确保了线程安全。在第一次调用时,如果 instance 为 null,就会创建一个新的实例,以后每次调用都会返回之前创建的实例。
阅读全文