Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Spring StreamingResponseBody创建另一个线程来处理流_Java_Multithreading_Spring Boot_Api_Streaming - Fatal编程技术网

Java 为什么Spring StreamingResponseBody创建另一个线程来处理流

Java 为什么Spring StreamingResponseBody创建另一个线程来处理流,java,multithreading,spring-boot,api,streaming,Java,Multithreading,Spring Boot,Api,Streaming,我在spring boot应用程序中使用StreamingResponseBody来流式传输api的响应。 StreamingResponseBody接口文件中提到: 用于异步请求处理的控制器方法返回值类型,其中应用程序可以直接写入响应OutputStream,而无需占用Servlet容器线程 我不明白最后一句话: 不占用Servlet容器线程 据我所知,另一个线程将继续处理响应流,以便释放servlet容器线程,但为什么释放servlet容器线程很重要? 这两个线程之间有什么区别? 我的观点是

我在spring boot应用程序中使用StreamingResponseBody来流式传输api的响应。
StreamingResponseBody接口文件中提到:

用于异步请求处理的控制器方法返回值类型,其中应用程序可以直接写入响应OutputStream,而无需占用Servlet容器线程

我不明白最后一句话:

不占用Servlet容器线程

据我所知,另一个线程将继续处理响应流,以便释放servlet容器线程,但为什么释放servlet容器线程很重要?

这两个线程之间有什么区别?

我的观点是,两者都是线程,那么为什么我们需要从一个线程切换到另一个线程呢