【发布时间】:2018-02-07 20:51:43
【问题描述】:
由于某种原因,当我尝试在像这里这样的单独线程中访问它们时,HttpServletRequest 中没有请求标头:
new Thread() {
public void run() {
Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String header_name = headerNames.nextElement();
System.out.println("Header: " + request.getHeader(header_name));
}
}
}
}.start();
我想在那个线程中异步处理一些数据。
当我将代码放在线程之外时,它可以工作。
【问题讨论】:
-
你确定你的主线程确实等到新线程运行吗?
-
不,它结束了。发送响应后是否有另一种处理数据的方法?如果有很长的任务要处理,浏览器一直等到完成是很烦人的……
-
您需要等待主线程并留出时间让新生成的线程运行。
标签: java multithreading servlets request post-processing