iOS开发之GCD使用总结
GCD是iOS的一种底层多线程机制,今天总结一下GCD的常用API和概念,希望对大家的 学习起到帮助作用。 GCD队列的概念 在多线程开发当中,程序员只要将想做的事情定义好,并追加到DispatchQueue(派发队列)当中就好了。 派发队列分为两种,一种是串行队列(SerialDispatchQueue),一种是并行队列(ConcurrentDispatchQueue)。 一个任务就是一个block,比如,将任务添加到队列中的代码是: 1 dispatch_async(queue, block); 当给queue添加多个任务时,如果queue是串行队列,则它们按顺序一个个执行,同时处理的任务只有一个。 当queue是并行队列时,不论第一个任务是否结束,都会立刻开始执行后面的任务,也就是可以同时执行多个任务。 但是并行执行的任务数量取决于XNU内核,是不可控的。比如,如果同时执行10个任务,那么10个任务并不是开启10个线程,线程会根据任务执行情况复用,由系统控制。 获取队列 系统提供了两个队列,一个是MainDispatchQueue,一个是GlobalDispatchQ...