子线程执行耗时操作,主队线程刷新UI
每一个应用程序只有一个主线程
即只有一个主队列
所以将任务添加到主队列,就是回到主线程了
// GCD的线程间的通信 : 常用代码
- (void)GCDDemo
{
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSLog(@"正在努力下载... %@",[NSThread currentThread]);
// 如果下载结束回到主线程更新UI
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"下载完成,正在更新UI... %@",[NSThread currentThread]);
});
});
}