iOS NSURLSession 学习(2)
来源:互联网 发布:会java学php要多久 编辑:程序博客网 时间:2024/05/16 16:17
到底NSURLSession是怎么工作的?我做了个实验,如下图,感兴趣的同学可以自己查看分析
组织自然语言是程序员的弱点,我就罗列几个结论吧
1 瞬间给NSURLSession添加5个下载任务,那么他会启动几个任务呢,从log看,大概是4个,我让程序跑了几分钟,任务都没完成的时候,始终没有 task 5出现。
2 同一个Task,接收到数据-->写入缓存-->回调(注意顺序)时,最后的一步 “回调”,所在的线程不是同一个线程。但是,都是同一个OperationQueue,就是初始化Session时传入的那个queue,并且所有的Task回调时,都是在这个queue上回来的。
3 据上猜测:Session内部处理流程就是 接收数据-->写入磁盘缓存-->回调给我们的代码,每一个步骤可能都有一个执行的queue,也就是说,在回调给我们的代码的时候,Session将信息一股脑的丢给我们传入的那个 delegateQueue,让他开启线程执行回调(至于同一个task的多个回调信息<写完一段就有一个回调信息>是否在同一个线程传上来,Session就不管了,让这个delegateQueue自己去处理),这里就说明了在创建Session的时候,为什么这个叫 delegateQueue,而不是其它的queue。当时对这个就有疑惑,现在终于明白了。大家可以猜测:他这么设计的意图是什么?
我觉得比较关心的就是这几个结论,还有,假如我们在创建Session的时候不给她指定一个delegateQueue,会是什么情况呢?感兴趣的同学可以自己做实验喔。
0 0
- iOS NSURLSession 学习(2)
- iOS网络开发之NSURLSession学习<2>
- iOS学习使用NSURLSession
- iOS NSURLSession 学习(1)
- iOS网络开发之NSURLSession学习<1>
- iOS网络开发之NSURLSession学习<3>
- iOS网络开发之NSURLSession学习<4>
- iOS学习笔记13-网络(二)NSURLSession
- iOS学习笔记 网络(二)NSURLSession
- iOS NSURLSession
- iOS--NSURLSession
- iOS NSURLSession
- ios-NSURLSession
- NSURLSession学习
- 【iOS学习】十二、使用NSURLSession发送HTTP请求的问题
- IOS学习 网络 NSURLSession和POST文件上传
- iOS学习笔记75-NSURLSession使用实战教程
- NSURLSession学习笔记1 2 3
- iOS: HTTPS 与自签名证书
- 嵌入式底层软件好书推荐
- 80后、90后应该这样管80后、90后应该这样管
- IOS 用UIWindow自定义AlertView(最基本代码)
- 和链表有关面试题
- iOS NSURLSession 学习(2)
- Android基本常用控件的介绍TextView EditText Button Menu
- 蓝桥杯——Anagrams问题 ,字串统计 ,矩阵乘法 ,大小写转换
- javascript:利用javascript对象的特性去掉数组中的重复项
- tt
- TCP/IP详解卷1 读书笔记:第二十三章 TCP保活定时器
- CentOS学习笔记<rz/sz安装>
- Xcode7创建的工程发送HTTP请求报错
- struts2中使用原生fileUpload上传文件