本文想从一个角度来让大家认识到回答一个问题不能从表面或者感觉来判断,这是学习技术的大忌,很多新手如果刚开始没有一套学习方法,从各种碎片化信息去学习编程,学习一段时间很容易进入瓶颈期,所以我觉得有必要通过一些我平时思考过的问题,踩过得坑,来总结一下也方便自己日后巩固,另一方面也想分享出来帮助需要的人,让大家发现解决一个问题只有知道背后越多的概念和设计,思路才会越多,才会懂得基础的重要性,如果有幸能引发共鸣和思考,就非常幸运了,当然文中大部份的内容都是我自己内化过之后用浅显的语言描述,尽量让更多的人能听懂,不会像很多博客复制粘贴,我觉得也没有意义,如果有哪些地方没有讲清楚,也欢迎大家交流补充。
首先从问题当中有几个重要的关键词,请求,线程,多,单,快。我们一个一个来稍为补充一下:
1. 请求。在题目上下文里指的是客户端发送多条HTTP请求到服务端。假设是发送到同一个服务器, 都是HTTP1.1 以上协议开启了多路复用的情况。那就是一条TCP链接。
2. 线程。一般客户端发送HTTP会启一个单独线程,不在主线程渲染UI线程发起。
3. 多。就是开多个单独线程分别去请求。这里的多的目的是建立多个TCP还是多个操作系统的线程。
4. 单。就是