同步 & 异步:
区别在于会不会阻塞线程:同步会等待当前任务结束再去执行下一个任务;异步是同时进行执行任务。
串行 & 并行:
dispatch_get_main_queue -->主线程的队列
dispatch_get_global_queue -->全局线程的队列(全局并发的)
简单的例子:
dispatch_async(dispatch_get_global_queue(0,0), ^{
NSLog(@"Task Thread!");
[NSThread sleepTimeInterval:3];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@" UI Thread!")
});
});