布尔值判断
不过在多线程中不正确,资源共享时会执行多次,必须加锁来保证数据的正确性,保证线程的安全。
用GCD 实现
事例代码:
+ (instancetype)shareSingletonTool
{
static dispatch_once_t onceToken;
static AMSingleton* tool;
dispatch_once(&onceToken, ^{
tool = [[self alloc] init];
});
return tool;
}