单例的实现方式

单例模式的实现方式:

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

第一种实现方式:

 d1.png

 

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

第二种实现方式

 d2.png

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

 

第三种实现方式

 

 d3.png

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章