美文网首页
CGD中dispatch_once使用说明(仅执行一次)

CGD中dispatch_once使用说明(仅执行一次)

作者: 山水域 | 来源:发表于2017-05-05 10:46 被阅读127次

    dispatch_once概念解析

    整个程序运行中只会执行一次,使用dispatch_once可以简化代码并且彻底保证线程安全,开发者根本无须担心加锁或者同步。所有问题都由GCD在底层处理。由于每次调用时都必须使用完全相同的标记,所以标记要声明成static。所以用在单例模式上是最好的

        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            NSLog(@"只会执行一次");
        });
    

    使用场景

    dispatch_once一般使用在单例模式上,其要点是整个程序运行中只会执行一次。当然只要是那些只需要执行一次的方法,用dispatch_once最简单最安全。

    相关文章

      网友评论

          本文标题:CGD中dispatch_once使用说明(仅执行一次)

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