一个页面请求多个接口的设计方案

2017-06-20  本文已影响0人  c_f

在一个页面可能会有请求多个接口的情况,而接口的请求是异步的,为了能保证一个页面数据的同步处理,针对多个异步线程的处理建议使用信号量机制,在异步线程开始前将信号量加1,线程执行完成后再把信号量减1,然后通过线程的汇总,在信号量为0的时候执行页面数据的处理操作。

信号量的加减操作有两种:
第一种:
自定义一个信号量dispatch_semaphore_t,一般默认初始化的信号量值是0.
信号量加1:

dispatch_semaphore_signal(semaphore);

信号量减1:

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

第二种:
创建线程组dispatch_group_t,对线程组进行信号量的加减操作
信号量加1:

dispatch_group_enter(group);

信号量减1:

dispatch_group_leave(group);
上一篇 下一篇

猜你喜欢

热点阅读