dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);//創建信號量 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); //創建隊列 dispatch_group_t group = dispatch_group_create(); //創建線程組 dispatch_group_async(group, queue, ^{ NSLog(@"第一個網絡請求"); dispatch_semaphore_signal(semaphore); }); dispatch_group_async(group, queue, ^{ NSLog(@"第二個網絡請求"); dispatch_semaphore_signal(semaphore); }); dispatch_group_async(group, queue, ^{ NSLog(@"第三個網絡請求"); dispatch_semaphore_signal(semaphore); }); dispatch_group_notify(group, queue, ^{ dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); NSLog(@"三個請求完成后執行"); });
