在主线程中调用函数,同时同步函数的队列为主队列中是就会出现线程卡死显现,很多解释都是主线程等待主队列,主队列等待主线程,出现相互等待的现象才会导致线程卡死
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
dispatch_sync(dispatch_get_main_queue(), ^{
//
NSLog(@"下载图片1 %@",[NSThreadcurrentThread]);
});
}
那么同样的代码发生在异步函数就不会出现这样的情况
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
dispatch_async(dispatch_get_main_queue(), ^{
//
NSLog(@"下载图片1 %@",[NSThread currentThread]);
});
}