布爾值判斷
不過在多線程中不正確,資源共享時會執行多次,必須加鎖來保證數據的正確性,保證線程的安全。
用GCD 實現
事例代碼:
+ (instancetype)shareSingletonTool
{
static dispatch_once_t onceToken;
static AMSingleton* tool;
dispatch_once(&onceToken, ^{
tool = [[self alloc] init];
});
return tool;
}