java-servlet何时释放其线程
假设没有存活,当Servlet容器充当独立服务器时,我假设直到将整个响应发送到客户端(例如Web浏览器)后,才会释放Servlet的线程.这是正确的假设吗? 但是,如果servlet在像Nginx这样的反向代理后面,会发生什么呢?响应传递到Nginx之后,线程是否被释放,或者直到响应发送给其最终客户端(例如浏览器)时才保留线程? 更新:让我尝试使它更加清楚. 像nginx这样的响应从Servlet发送到代理仅需要几毫秒(例如2ms).但是,最终的响应可能要花费额外的80毫秒(或大约80毫秒)的时间,才能从Nginx发送到浏览器.一旦将响应发送到nginx,servlet就会释放线程/流,还是直到响应发送到浏览器(即整个80ms),servlet才会保留线程/流. 最佳答案
问题:我假设直到将整个响应发送到客户端(例如Web浏览器)后,才会释放Servlet的线程.这是正确的假设吗?
答:不,这是错误的. Servlet容器只会将内容写入套接字并返回.不能保证从write()方法返回的内容将确保响应已到达客户端. 问题:将响应传递到Nginx之后,或者直到响应发送给最终客户端(例如浏览器)时线程才保留? 回答:当Nginx在后面时,则Servlet容器的客户端是Nginx.它不知道实际的远程客户端.因此,一旦响应写入Nginx,线程将被释放. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 如何配置nginx Unicorn以避免超时错误?
- Nginx无法从docker 1.10.1中的嵌入式DNS获取主机
- 可以将NON-http连接请求转发到nginx中的其他端口吗?
- 后处理Nginx反向代理响应的最佳方法
- ruby – 关于Nginx配置的Sinatra – 出了什么问题?
- 为什么proxy_set_header主机$host;不再在nginx 1.8.0中工作
- 在重启NGINX过程时排空连接?
- file-upload – 在nginx中禁用请求缓冲
- nginx – 处于TIME-WAIT状态的高#套接字,服务器在加载时无
- nginx – 在使用Gunicorn运行应用程序时未注册SQLAlchemy扩