dispatch_once
dispatch_once函数是保证在应用程序执行中只执行一次指定处理的API。下面这种经常出现的用来进行初始化的源代码可通过dispatch_once函数简化:
static int initialized = NO;
if (initalized == NO){
/*
*初始化
*/
initialized = YES;
}
如果使用dispatch_once函数,则源代码改为:
static dispatch_once_t pred;
dispatch_once (&pred, ^{
/*
*初始化
*/
});
源代码看起来没有太大的变化。但是通过dispatch_once函数,该源代码即使在多线程环境下执行,也可保证百分之百安全。
原文地址:http://blog.csdn.net/lf644206005/article/details/45385369