一、日常开发中,会经常遇到这样的需求:网络请求A返回成功后,调用网络请求B,网络请求B结果返回成功后调用网络请求C(即:A—>B—>C)。循环调用网络请求A,确保每次请求返回成功后继续调用网络请求A(即:A—>A—>A)。网络请求A和B返回成功后,调用网路请求C(即:A&B—>C)。二、以上三种需求,分别在此列举下示例:在GCD中跟信号量有关的三个函数如下:://创建时,值为0执行dispatch_semaphore_wait(sema,DISPATCH_TIME_FOREVER);A—>B—>C:信号量处理-(void)viewDidLoad{NSLog(@"开始====%@",@"A");
一、日常开发中,会经常遇到这样的需求:网络请求A返回成功后,调用网络请求B,网络请求B结果返回成功后调用网络请求C(即:A—>B—>C)。循环调用网络请求A,确保每次请求返回成功后继续调用网络请求A(即:A—>A—>A)。网络请求A和B返回成功后,调用网路请求C(即:A&B—>C)。二、以上三种需求,分别在此列举下示例:在GCD中跟信号量有关的三个函数如下:://创建时,值为0执行dispatch_semaphore_wait(sema,DISPATCH_TIME_FOREVER);A—>B—>C:信号量处理-(void)viewDidLoad{NSLog(@"开始====%@",@"A");