美文网首页
block与GCD--45:dispatch_once

block与GCD--45:dispatch_once

作者: 皆为序幕_ | 来源:发表于2018-08-02 17:30 被阅读0次
+ (instancetype)sharedInstance{
    static Student *stu = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        stu = [[Student alloc]init];
    });
    return stu;
}

使用dispatch_once的注意事项:

  • 此函数接收类型为dispatch_once_t的特殊参数,还有一个块参数。对于onceToken标记,该函数保证相关的块必定会执行,且执行一次。此操作完全是线程安全的
  • 对于在dispatch_once中的创建的实例对象必须确保其只有一个,所以使用static修饰

注意:对于只执行一次的块来说,对于传入函数的标记参数必须完全相同,因此,开发时需要将标记变量声明在static或global作用于中。

相关文章

  • block与GCD--45:dispatch_once

    使用dispatch_once的注意事项: 此函数接收类型为dispatch_once_t的特殊参数,还有一个块参...

  • GCD之dispatch_once 方法

    dispatch_once(dispatch_once_t *predicate, dispatch_block_...

  • 单例的一些写法c、oc、swift

    纯C环境下 pthread_once dispatch_once 需要引libdispatch库 block写法 ...

  • dispatch_once

    关于对 dispatch_once 函数的解释 大意为:执行这个 block 一次,切只执行一次在 iOS 内常用...

  • ios 单例

    单例写法 dispatch_once 上文是 dispatch_once的代码,可以看出通过predicate判断...

  • dispatch_once

    目录 dispatch_once dispatch_once低负载特性 备注 参考文章 相信大家对dispatch...

  • dispatch_once 详解

    dispatch_once 是线程安全的 首次调用dispatch_once时,因为外部传入的dispatch_o...

  • block用法小结

    基本用法 作用block用来保存一段代码 block的标志: ^ block与函数block与函数很像1.可以保存...

  • 2018-03-09

    2018-03-21 45. 单例dispatch_once的使用 说明:dispatch_once 是线程安全的...

  • Effective Objective-C读后笔记(4)

    31、dispatch_once实现单例 使用dispatch_once实现单例设计模式。 32、多用枚举器,少用...

网友评论

      本文标题:block与GCD--45:dispatch_once

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