GCD
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想要执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。(摘自苹果的官方说明)
dispatch_async(queue,^{
/*
*长时间处理
*例如AR用画像识别
*例如数据库访问
*/
/*
*长时间处理结束,主线程使用该处理结果。
*/
dispatch_async(dispatch_get_main_queue(),^{
/*
*只在主程序可以执行的处理
*
*例如用户界面更新
*/
})
} );
上面的就是在后头线程中执行长时间处理,处理结束时,主线程使用该处理结果的源代码
dispatch_async(queue,^{