繁体   English   中英

在使用Java和Servlet时正确使用线程

[英]Proper use of threads in using Java and Servlets

我在整个Servlets领域都很陌生,我正在尝试实现一种方法,该方法将等待用户给定的时间变量(例如1分钟),然后将开始倒计时直到给定时间达到0。我可以做到的唯一方法是使用线程。 我将Java项目导出为战争,进行部署,但是当我导入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();
     }
   }

您必须立即响应HTTP请求。 线程不是解决方案。

您可以使用以下之一:

  • 使用一些Ajax(客户端控制)
  • WebSocket(服务器端控制)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM