在线旅游网站平台有哪些,视频嵌入网站,400免费服务电话申请,企业网站域名备案流程public class hugryman 私有构造 private hugryman() 私有静态只读实例化 private static readonly hugryman _hugrymannew hugryman(); 公有静态读取方法 public static hugryman() return _hungryman 多次获取的是同一个实例
gethashcode发现是同一个对象
数值一样 缺点 … public class hugryman 私有构造 private hugryman() 私有静态只读实例化 private static readonly hugryman _hugrymannew hugryman(); 公有静态读取方法 public static hugryman() return _hungryman 多次获取的是同一个实例
gethashcode发现是同一个对象
数值一样 缺点
一开始就实例化 浪费性能 改懒汉式
layman
私有构造
私有静态字段
private static _layman
公有静态读取同时实例化
在getlazyman里面实例化
null的时候创建 防止多次实例化
都要静态 缺点
会重复创建
如果多个程序同时进入会实例化多次
重复实例化的缺点
改进方法
var objnew object()
lock(obj)
{
}
花括号的内容只允许一个线程进行 例子
private static layman _layman
public static layman getlazyman()
lock(o){
if (_laymanNULL)
{_lazymannew lazyman()}
}
return _layman lock实际上是
monitor.enter()
monitor.exit() 防止指针重排的方法
volatile 饿汉式的改造方法
静态内部类
hugrymanstatic
private hungrymanstatic()
private static class innerclass()
{
var _hungrymanstaticnew hungrymanstatic()
}
public static Gethungrymanstatic()
{
return _hungrymanstatuc
}
静态内部类 只在类加载的时候创建一次实例
不会浪费资源