OC 中一次性代碼的兩種實現方法

布爾值判斷

不過在多線程中不正確,資源共享時會執行多次,必須加鎖來保證數據的正確性,保證線程的安全。

用GCD 實現

事例代碼:

+ (instancetype)shareSingletonTool
{
    static dispatch_once_t onceToken;

    static AMSingleton* tool;

    dispatch_once(&onceToken, ^{
        tool = [[self alloc] init];
    });

    return tool;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章