高并发下单例线程安全

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重连上

相关推荐
步步为营DotNet13 分钟前
深入理解.NET 中的IHostedService:后台任务管理的基石
java·网络·.net
独自破碎E37 分钟前
Leetcode862和至少为K的最短子数组
java·开发语言
To Be Clean Coder40 分钟前
【Spring源码】getBean源码实战(二)
java·后端·spring
washingtin1 小时前
Get “https://registry-1.docker.io/v2/“: context deadline exceeded
java·开发语言
一路往蓝-Anbo1 小时前
C语言从句柄到对象 (七) —— 给对象加把锁:RTOS 环境下的并发安全
java·c语言·开发语言·stm32·单片机·嵌入式硬件·算法
利刃大大1 小时前
【SpringBoot】validation参数校验 && JWT鉴权实现 && 加密/加盐
java·spring boot·jwt·加密
小北方城市网2 小时前
第 3 课:前后端全栈联动核心 —— 接口规范 + AJAX + 跨域解决(打通前后端壁垒)
java·大数据·网络·python
降临-max2 小时前
JavaWeb企业级开发---MySQL
java·开发语言·数据库·笔记·后端·mysql
C雨后彩虹2 小时前
二维伞的雨滴效应
java·数据结构·算法·华为·面试
oMcLin2 小时前
Ubuntu 22.04 Docker 容器启动失败:解决 Overlay2 存储驱动冲突
java·ubuntu·docker