标签:实现 饿汉 静态变量 多线程安全问题 构造 写法 对象 函数 单例
1:实现单例模式的几种写法
1:构造函数私有化,提供公共静态方法给外面访问,定义一个静态变量保存实例 加上双重判断和锁 这个也叫懒汉单例模式 在单例类里面定义方法,方法是先执行
2:静态构造函数,由CLR控制,且只调用一次,也叫饿汉单例模式, 定义的静态方法必须先构造这个实例再执行
为什么使用单例
对象的重用,性能快速 ,十几万个对象 重复实例 性能损失大
例子 数据库连接池 一般有十个线程,用完就还回去,如果不用单例,那么十个用完了,别人就需要等待了,
单例模式解决不了多线程安全问题, 当十万个对象同时访问单例,会出现线程冲突 能丢失几十个左右的线程
标签:实现 饿汉 静态变量 多线程安全问题 构造 写法 对象 函数 单例
原文地址:https://www.cnblogs.com/LZXX/p/12909503.html