标签:
同步,不具备开启线程的能力:dispatch_sync
异步,具备开启线程的能力:dispatch_async
并列队列:多个任务可以同时执行
串行队列:一个任务执行完后,再执行下一个任务
一个金典的列子:
#define ZHGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
#define ZHMainQueue dispatch_get_main_queue()
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
dispatch_async(ZHGlobalQueue, ^{
// 1.子线程
NSString* urlStr = @"";
NSURL *url = [NSURL URLWithString:urlStr];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
// 2.回主线程设置图片
dispatch_async(ZHMainQueue, ^{
[self.imageView setImage:image];
});
});
}
标签:
原文地址:http://www.cnblogs.com/iOS771722918/p/4431480.html