开发问题记录

2019-04-23  本文已影响0人  来自蒙塔基的钢蛋儿

开发需求遇到一个场景,异步请求同一个接口时间间隔太小,导致server判定为恶意请求,会把一部分request断开。

解决方案:子线程同步 延时执行。

有下边两个方案

gcd并发队列+同步执行

gcd串行队列+异步执行

初步一看应该都能满足需求,但实际情况不是的。

并发队列+同步执行,并不会直接创建新的线程执行任务,apple为了优化,是这样处理的,同步任务默认在当前线程执行,也就是说如果当前是线程2触发任务,那么就会在线程2同步执行。

串行队列+异步执行,会创建一条新线程执行。满足需求!

上一篇下一篇

猜你喜欢

热点阅读