GCD group,
Asynchronous intra-group requests compete for resources with events executed in an out-group order.
1) create a group
Dispatch_group_t group = dispatch_group_create ();
2) in-group asynchronous ST1, DISPATCH_QUEUE_PRIORITY_DEFAULT is the default priority.
Dispatch_group_async (group, dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^ {// do something 1 });
3) in-group asynchronous ST2, DISPATCH_QUEUE_PRIORITY_DEFAULT is the default priority.
Dispatch_group_async (group, dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^ {// do something 2 });
4) group notifications to obtain the main thread. This is the end of all asynchronous operations in the group.
Dispatch_group_policy (group, dispatch_get_main_queue (), ^ {// do something} after all groups are completed });
5) ST3 outside the group
// Do something 3