使用多线程创建单例对象
Posted 张凯泽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用多线程创建单例对象相关的知识,希望对你有一定的参考价值。
#import "ZKZApplication.h" @implementation ZKZApplication +(instancetype)allocWithZone:(struct _NSZone *)zone { static ZKZApplication *application; // dispatch_once是线程安全的,onceToken默认为0 static dispatch_once_t onceToken; // dispatch_once宏可以保证块代码中的指令只被执行一次 dispatch_once(&onceToken, ^{ application=[self allocWithZone:zone]; }); return application; } +(instancetype)shareApplication { return [[self alloc]init]; } @end
以上是关于使用多线程创建单例对象的主要内容,如果未能解决你的问题,请参考以下文章