参考博客:http://blog.csdn.net/lyl123_456/article/details/52462621
写单例主要需要注意两点:
1>单例的生命周期如何保证不会释放。
2>保证线程安全,不会创建出多个实力来。
//至于其他的各种实现方式,只是效率方面有区别,效果是没有问题的。
推荐方式:
1.static关键字保证了单例在静态区,即保证了生命周期。
2.onceToken保证了线程安全,以及只执行一次。
不推荐的方式
二者比较:dispatch_once可以简化代码保证线程安全,,无需当心加锁和同步。而使用synchronized,每次运行代码都需要获取锁。