用Java写一个线程安全的单例模式
时间: 2023-09-05 16:09:01 浏览: 78
java多线程之线程安全的单例模式
好的,以下是一个线程安全的单例模式的Java实现:
```java
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
```
在这个实现中,我们使用了双重检查锁定(double-checked locking)来确保线程安全。我们首先检查实例是否已经被创建,如果没有,我们就在同步块中创建一个新的实例。volatile关键字用于保证instance的可见性,确保多个线程都能正确地处理instance变量。
阅读全文