单例的创建

参考博客:http://blog.csdn.net/lyl123_456/article/details/52462621

写单例主要需要注意两点:

1>单例的生命周期如何保证不会释放。

2>保证线程安全,不会创建出多个实力来。

//至于其他的各种实现方式,只是效率方面有区别,效果是没有问题的。

推荐方式:

单例的创建_第1张图片
推荐写法

1.static关键字保证了单例在静态区,即保证了生命周期。

2.onceToken保证了线程安全,以及只执行一次。

不推荐的方式

单例的创建_第2张图片
加锁来保证

二者比较:dispatch_once可以简化代码保证线程安全,,无需当心加锁和同步。而使用synchronized,每次运行代码都需要获取锁。

你可能感兴趣的:(单例的创建)