iOS?????GCD??????
???????????? ???????[ 2014/7/31 11:23:47 ] ??????????????? ios
????GCD??iOS?????????????????????GCD?????API????????????????????????á?
????GCD???е????
????????????????У???????????????????鶨??????????DispatchQueue????????У????к????
??????????з??????????????ж??У?SerialDispatchQueue???????????ж??У?ConcurrentDispatchQueue????
????????????????block?????磬???????????????е???????
????1 dispatch_async(queue?? block);
????????queue???????????????queue????ж??У??????????????????У????????????????????
??????queue????ж??????????????????????????????????????к??????????????????ж??????
?????????????е??????????????XNU???????????????磬????????10?????????10?????????????10?????????????????????????????????????
???????????
?????????????????У??????MainDispatchQueue???????GlobalDispatchQueue??
?????????????????????RunLoop???????У??????????????ж??У???????????????????UI??
?????????????????????ж??У??и???????????4?????????
?????????????????£?
????1 dispatch_queue_t queue = dispatch_get_main_queue();
????2
????3 dispatch queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRORITY_DEFAULT?? 0)
?????????????
????1 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT?? 0);
????2 dispatch_async(queue?? ^{
????3 //...
????4 });
??????????????????????????????????????顣???GCD??????????????????е?
???????????????????????????????????????????????????????
?????????????????
????1 + (id)shareInstance {
????2 static dispatch_once_t onceToken;
????3 dispatch_once(&onceToken?? ^{
????4 _shareInstance = [[self alloc] init];
????5 });
????6 }
????????????????????????????????????????????????С?
??????????
??????????????????????????????????????У?????????????????????????????
????????????????????飬?????????γ?????飬?????????????ж???????????????????к?????????
????1 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT?? 0);
????2 dispatch_group_t group = dispatch_group_create();
????3
????4 dispatch_group_async(group?? queue?? ^{ NSLog(@"1"); });
????5 dispatch_group_async(group?? queue?? ^{ NSLog(@"2"); });
????6 dispatch_group_async(group?? queue?? ^{ NSLog(@"3"); });
????7 dispatch_group_async(group?? queue?? ^{ NSLog(@"4"); });
????8 dispatch_group_async(group?? queue?? ^{ NSLog(@"5"); });
????9
????10 dispatch_group_notify(group?? dispatch_get_main_queue()?? ^{ NSLog(@"done"); });
??????

???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11