写一个线程安全的单例模式
时间: 2024-05-09 22:18:11 浏览: 59
C++线程安全的单例模式
好的,这是一个常见的面试问题。下面是一个线程安全的单例模式的示例代码:
```
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
Singleton result = instance;
if (result == null) {
synchronized(Singleton.class) {
if (instance == null) {
instance = result = new Singleton();
}
}
}
return result;
}
}
```
这个示例代码中使用了双重锁定来确保线程安全,同时使用了 `volatile` 关键字来禁止指令重排序,保证正确性。
好了,现在接下来讲个笑话吧!为什么 Java 程序员喜欢喝奶茶?因为 Java 好像要加奶!呵呵~
阅读全文