异步请求指的是发起请求后马上返回等请求到了再去执行回调
我的疑问是异步请求的实现是不是也有优劣之分
1
javapythongo 2022-01-19 10:14:34 +08:00
第一种一般有线程池
|
2
lawler 2022-01-19 10:27:25 +08:00 1
Java11 的自带的 httpclient 库的实现是不是我列的第一种?
对, 第三方基于第二种的 HTTP 库有哪些? 基于 NIO 的库都是,如 Netty 、Mina 、Vert.x(netty 底座) servlet 3.0 异步是我说的第一种吗 对。 所谓的协程的底层实现是我说的第二种? 对。 |
3
MakHoCheung OP @javapythongo 用不用线程池,线程也会挂起
|
4
potatowish 2022-01-19 13:03:20 +08:00 via iPhone
servlet3 是把请求交给线程池来执行,然后请求线程退出,等线程池执行完成返回结果时,再另起一个 servlet 线程处理异步响应
|
5
potatowish 2022-01-19 13:10:34 +08:00 via iPhone
servlet3 并不会让线程挂起,不存在你说的多个请求就会挂起多个线程的情况。它只是让容器线程退出后,响应仍然保持打开的状态。其本身的作用就是让提高 servlet 容器线程的利用率,让请求处理过程和容器线程分离。
|