Please enable JavaScript.
Coggle requires JavaScript to display documents.
单例模式 - Coggle Diagram
单例模式
实现方式
双重锁定
操作:先判断实例式否存在,再加锁进行处理,锁里再次判断实例式是否存在
特点
防止多线程模式下,创建多个实例
第一次判断,有利于提高性能,降低重复使用锁
译: Double-Check Locking
饿汉式单例
概念:实例化的发生是在自己被加载时,就将自己实例化
特点
不支持延迟加载
初始化时间可能较长(可以接受)
实例创建过程是线程安全的
懒汉式单例
概念:实例化发生是在第一次被引用时,才会将自己实例化
特点
支持延迟加载
不支持高并发
实例创建过程需要加锁
GO
利用 init 实现饿汉式单例
init 加载流程
利用 once.Do 实现双重锁定的懒汉式单例
一句话概括
"有些类也需要计划生育"