但是,也正因为这样的同步特性,在实际项目中,当有同步任务添加到正在执行同步任务的队列时,串行的队列会出现死锁。而且由于同步任务会阻塞主线程的运行,可能会导致某个事件无法响应。...在GCD中,可以给开发者调用的常见公共队列有以下两种:
dispatch_get_global_queue:用于获取应用全局共享的并发队列 (提供多个线程来执行任务,所以可以按序启动多个任务并发执行。...运行的main主线程,一般用于UI的搭建)
这两种公共队列的调用便可以解决关于后台执行任务、主线程用于更新UI界面的问题,代码如下:
dispatch_async(dispatch_get_global_queue...并行队列可以同时执行多个任务,系统会维护一个线程池来保证并行队列的执行。线程池会根据当前任务量自行安排线程的数量,以确保任务尽快执行。...Paste_Image.png
从以上代码中可以看出,与串行不同的是,不需要等到A任务调用完,就已经在调用B、C,显著地提高了线程的执行速度,凸显了并行队列所执行的异步操作的并行特性;
另外,从这段代码中