Grand Central Dispatch (GCD) 是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Disptach Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。
GCD用我们难以置信的非常简洁的记述方法,实现了极为复杂繁琐的多线程编程。下面列出几点关于GCD使用的高效方法。
一:使用Dispatch_once来执行只需运行一次的线程安全代码(单例)
单例模式大家都不陌生,常见的实现方式为:在类中编写名为sharedInstance的类方法,该方法只会返回全类共用的单例实例,而不会每次调用时都创建新的实例。例如:
1
2
3
4
5
6
7
8
9+(void)sharedInstance{
static DemoClass *sharedInstance = nil;
@synchronized(self){
if(!sharedInstance){
sharedInstance = [[self alloc]init];
}
}
return sharedInstance;
}