单例的实现方式

单例模式的实现方式:安全

单例模式要求程序中类只有一个对象。因此咱们要将他的构造函数设为private,并提供一个生成对象的静态方法。ide

第一种实现方式:函数

 d1.png

 

因为第一种方式是线程不安全的。由于当在if(instace==null)这句话中出现了中断,期间,又有另外一个进程B进入,建立了一个实例,而线程A从新获取处理器,又建立了该类的另外一个实例。spa

第二种实现方式线程

 d2.png

这里直接在内部就生成个实例。3d

 

第三种实现方式对象

 

 d3.png

加了个synchronized的锁!这样就不可能会有多个线程同时进入new Singleton();blog

相关文章
相关标签/搜索