dispatch_once概念解析
整个程序运行中只会执行一次,使用dispatch_once可以简化代码并且彻底保证线程安全,开发者根本无须担心加锁或者同步。所有问题都由GCD在底层处理。由于每次调用时都必须使用完全相同的标记,所以标记要声明成static。所以用在单例模式上是最好的
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"只会执行一次");
});
使用场景
dispatch_once一般使用在单例模式上,其要点是整个程序运行中只会执行一次。当然只要是那些只需要执行一次的方法,用dispatch_once最简单最安全。
网友评论