异步编程的几种实现方式
异步编程是实现程序并发、依赖解耦的一种方式。异步的本质是开启一个新的线程来执行。
异步:即整个业务中的某些逻辑交给不同的线程异步处理,不用等待异步线程的结果就可返回。
同步:即一条线程干到底,在没结束没返回之前不能干其它事情,必须在所有逻辑处理完才能返回。
异步编程是实现程序并发、依赖解耦的一种方式。异步的本质是开启一个新的线程来执行。
异步:即整个业务中的某些逻辑交给不同的线程异步处理,不用等待异步线程的结果就可返回。
同步:即一条线程干到底,在没结束没返回之前不能干其它事情,必须在所有逻辑处理完才能返回。
Servlet 和基于 Servlet 的容器(例如Tomcat)默认处理请求和处理业务是同一条线程,即有请求进来后,分配一条线程接收并处理请求,并继续执行业务处理,直到所有处理结束才完成响应,线程才会释放。这使得 Servlet 对业务方法的调用变成一种阻塞调用,效率较低。
Servlet3.0 提供了AsyncContex 来异步处理请求,将请求线程与业务处理线程分离。