方法1:两个判断是否为null,中间夹个lock
方法2:静态构造函数
原因,clr运行的时候,第一次使用一个类之前,静态构造函数一定会而且只会执行一次
所以可以把new 静态类变量的放在静态构造函数而不需要加锁
方法3:利用操作系统的静态变量,操作系统在类定义的时候就会为静态变量分配内存
静态变量声明的时候就new一下,然后getInstance的时候就return这个静态变量,其实也是利用了静态构造函数的特点。
多进程的情况下实现单例模式?
方法1:两个判断是否为null,中间夹个lock
方法2:静态构造函数
原因,clr运行的时候,第一次使用一个类之前,静态构造函数一定会而且只会执行一次
所以可以把new 静态类变量的放在静态构造函数而不需要加锁
方法3:利用操作系统的静态变量,操作系统在类定义的时候就会为静态变量分配内存
静态变量声明的时候就new一下,然后getInstance的时候就return这个静态变量,其实也是利用了静态构造函数的特点。
多进程的情况下实现单例模式?