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(@"三個請求完成後執行"); });