标签:
1、定义:GCD的基本思想就是将 操作O 放到 队列S 中去执行
2、队列(dispatch_queue_t)
a、串行队列(顺序执行)
dispatch_queue_t q = dispatch_queue_create("xian chen id", DISPATCH_QUEUE_SERIAL);
b、并行队列(并发执行)
dispatch_queue_t q = dispatch_queue_create("xian chen id", DISPATCH_QUEUE_CONCURRENT);
3、操作
a、dispatch_async 异步操作
dispatch_async(q, ^{NSLog(@" 异步:%@", [NSThread currentThread])});
b、dispatch_sync 同步操作
dispatch_sync(q, ^{NSLog(@"同步:%@", [NSThread currentThread])});
4、全局队列 (异步操作会产生新的线程;同步不会新建线程,在主线程顺序操作)
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
5、主队列 (每个应用程序对应唯一的一个主队列,在多线程开发中,主队列用以更新UI)
dispatch_queue_t q = dispatch_get_main_queue();
6、死锁情况:
// 全局队列,都在主线程上执行,不会死锁
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
标签:
原文地址:http://www.cnblogs.com/jianghong/p/4700391.html