美文网首页
iOS 同时请求多个接口

iOS 同时请求多个接口

作者: 温柔vs先生 | 来源:发表于2017-09-18 14:42 被阅读0次
    首先你要注意以下几个问题:
    1.网络请求的发送顺序
    2.网络请求回调顺序
    3.数据源修改与页面刷新
    4.新插入与旧数据替换问题
    5.数据源变更控制页面刷新时机与样式问题
    解决方案如下:
    1.使用GCD或者OperationQueue添加队列依赖或者栅栏
    2.增加代码执行顺序逻辑(比如某个请求数据返回之后再执行下个请求)
    3.数据源修改和页面刷新就没法说了,毕竟逻辑都不一样,你看自己的页面注意就行了
    
    
    • 数据有先后依赖关系的话 就 group + 信号量 控制向后顺序
    • 没有先后依赖关系的话 就一起发起

    什么时候用到多线程

    一、高并发
    
    系统接受实现多用户多请求的高并发时,通过多线程来实现。
    
    二、线程后台处理大任务
    
    一个程序是线性执行的。如果程序执行到要花大量时间处理的任务时,那主程序就得等待其执行完才能继续执行下面的。那用户就不得不等待它执行完。
    这时候可以开线程把花大量时间处理的任务放在线程处理,这样线程在后台处理时,主程序也可以继续执行下去,用户就不需要等待。线程执行完后执行回调函数。
    
    三、大任务
    
    大任务处理起来比较耗时,这时候可以起到多个线程并行加快处理(例如:分片上传)。
    

    如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)

    image.png
    image.png

    相关文章

      网友评论

          本文标题:iOS 同时请求多个接口

          本文链接:https://www.haomeiwen.com/subject/tphbsxtx.html