多线程在使用Java和servlet时正确使用线程
我在整个servlet领域都是新手,我正在尝试实现一种方法,该方法将等待用户给定的时间变量(例如1分钟),然后开始倒计时,直到给定的时间达到0。我认为我能做到这一点的唯一方法是使用线程。 我将Java项目导出为war,部署它,但当我导入1分钟时,网页不会打印任何内容,直到我重新加载它,如果我使用浏览器返回,线程仍在运行
下面的代码执行线程
你能建议我是否应该使用非同步线程(也许可以解释一下与普通线程的区别),或者我可以继续使用线程
if(minutes<=0) {
out.println("<center><h3>Time cannot be negative</h3></center>");
}
else
{
new Thread(new Runnable(){
public void run() {
try {
out.println("<center><h3>Minutes :"+(minutes)+"</h3></center>");
Thread.sleep(minutes*60000);
out.println("<p align=\"CENTER\"> <a href=\"timer\">Return</a><br>");
} catch (InterruptedException e) {
out.println("Interruption Found");
}
}
}).start();
}
}
# 1 楼答案
您必须毫不延迟地响应HTTP请求。线程并不能解决这个问题
您可以使用以下选项之一: