高并发下单例线程安全

1.使用静态内置类实现单例模式

自定义线程池

2.使用static代码块实现单例

3.使用静态内置类实现单例模式

4.使用static代码块实现单例

c 复制代码
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;
    }
}

思路可以沿用到rabbitmq重连上

相关推荐
江苏汉软6 分钟前
制造企业为什么需要MES
java·数据库·制造·mes系统·mes软件
deviant-ART14 分钟前
java注解简写规则
java·后端
邪修king18 分钟前
Re:Linux系统篇(三十八):进程间通信ChapterSystem V 信号量深度解析|同步互斥、内核源码、C 指针多态、实战代码
java·linux·c语言
文丑颜不良啊19 分钟前
LeetCode1181~1200题目解析
java·leetcode
释厄62323 分钟前
矢量词汇向下不向上公理即词汇归位定律——肤浅即表面
java·人工智能·算法·去中心化·1024程序员节
海绵宝宝转agent28 分钟前
Leetcode100+面经
java·笔记·学习·算法·leetcode·深度优先
会编程的吕洞宾32 分钟前
Spring Boot 镜像瘦身实战:从 450MB 瘦到 180MB
java·后端·spring
Shaoshing34 分钟前
LeetCode100 283.移动零
java·数据结构·算法·leetcode
海绵宝宝转agent34 分钟前
LeetCode100个人题解+java面经总结
java·开发语言·笔记·学习·算法
文丑颜不良啊37 分钟前
LeetCode1201~1220题目解析
java·leetcode