双重解决锁机制:
即解决了线程安全问题,又提高了代码效率
- package org.mlinge.s05;
- public class MySingleton {
- //使用volatile关键字保其可见性
- volatile private static MySingleton instance = null;
- private MySingleton(){}
- public static MySingleton getInstance() {
- try {
- if(instance != null){//懒汉式
- }else{
- //创建实例之前可能会有一些准备性的耗时工作
- Thread.sleep(300);
- synchronized (MySingleton.class) {
- if(instance == null){//二次检查
- instance = new MySingleton();
- }
- }
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return instance;
- }
- }
本文介绍了一种实现线程安全的单例模式——双重检查锁定模式。该模式通过使用volatile关键字和二次检查确保了实例的唯一性和高效性。文章提供了一个具体的Java实现案例。

被折叠的 条评论
为什么被折叠?



