GCD理解1(同步-异步、串行-并行)
1、并行-异步(ST1与ST2抢占资源)
1-1)、获取 并行(全局)队列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 为默认优先级。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);
1-2)、创建异步事件。
dispatch_async(queue, ^{ //do something 1 }); dispatch_async(queue, ^{ //do something 2 });
2、串行-同步(顺序执行)
2-1)、创建串行队列,DISPATCH_QUEUE_SERIAL 为串行
dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);
2-2)、创建同步事件。
dispatch_sync(queue, ^{ //do something 1 }); dispatch_sync(queue, ^{ //do something 2 });
3、并行-同步(顺序执行)
3-1)、获取 并行(全局)队列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 为默认优先级。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);
3-2)、创建同步事件。
dispatch_sync(queue, ^{ //do something 1 }); dispatch_sync(queue, ^{ //do something 2 });
4、串行-异步(怪怪的,测试结果,顺序执行)
4-1)、创建串行队列,DISPATCH_QUEUE_SERIAL 为串行
dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);
4-2)、创建异步事件。
dispatch_async(queue, ^{ //do something 1 }); dispatch_async(queue, ^{ //do something 2 });
一般1-3就够用了?!
相关推荐
88254251 2020-11-01
czfphper 2020-10-28
rkhstar 2020-09-25
anchongnanzi 2020-09-21
MayerF 2020-06-14
xiaoge00 2020-06-07
MLXY 2020-05-25
ThinkingLink 2020-05-17
angqiuli 2020-04-16
angqiuli 2020-02-16
88520191 2020-01-18
mmywcoco 2020-01-06
angqiuli 2019-12-25
loviezhang 2019-12-15
freedomwind00 2019-11-19
素钗一生推 2019-11-16
87901735 2019-05-29
lizhengfa 2019-05-17