单例的实现方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例的实现方式相关的知识,希望对你有一定的参考价值。

单例模式的实现方式:

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

第一种实现方式:

 技术分享图片

 

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

第二种实现方式

 技术分享图片

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

 

第三种实现方式

 

 技术分享图片

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



以上是关于单例的实现方式的主要内容,如果未能解决你的问题,请参考以下文章

单例的三种实现方式

单例的三种实现方式

swift实现单例的四种方式

关于python单例的常用几种实现方法

iOS中创建单例的两种方式

Objective-C和Swift实现单例的几种方式