美文网首页
第三章 3.2.12 dispatch_once

第三章 3.2.12 dispatch_once

作者: MrSYLong | 来源:发表于2018-07-26 23:11 被阅读3次

dispatch_once函数是保证在程序执行中只执行一次指定处理的API

static int initialized = NO;
if (initialized == NO) {
    // 初始化
    initialized = YES;
}

说明:
上面代码,在大多数情况下是安全的,但是在多核CPU中,在正在更新表示是否初始化的标志变量initialized时读取,就有可能多次执行初始化处理
static dispatch_once_t pred;
dispatch_once(&pred, ^{
    //初始化
});

说明:
在多线程环境下执行,也可以保证安全

相关文章

网友评论

      本文标题:第三章 3.2.12 dispatch_once

      本文链接:https://www.haomeiwen.com/subject/lubimftx.html