异步请求指的是发起请求后马上返回等请求到了再去执行回调
我的疑问是异步请求的实现是不是也有优劣之分
- 主线程发起请求,底层是另外开一条线程去执行请求,然后 IO 等待时候该线程挂起,等响应到了再执行回调。缺点是有线程被挂起,多个请求就会有多条线程挂起。
- 基于 IO 多路复用,发起请求后在 selector 注册事件,之后只要一条线程轮询事件,响应事件就绪后可以复用轮询的线程或者另外开一条线程来执行回调,全程没有线程挂起。
- Java11 的自带的 httpclient 库的实现是不是我列的第一种?
- 第三方基于第二种的 HTTP 库有哪些?
- servlet 3.0 异步是我说的第一种吗
- 所谓的协程的底层实现是我说的第二种?