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

问题描述 投票:0回答:1

我是整个Servlets领域的新手,我正在尝试实现一个等待用户给出的时间变量的方法(例如1分钟)然后它将开始倒计时直到给定的时间达到0.我想我能做到的唯一方法就是使用Threads。我正在将我的Java项目导出为战争,部署它但是当我导入1分钟时,网页不会打印任何东西,直到我重新加载它并且如果我回去使用我的浏览器线程仍在运行。

下面的代码执行线程。

你能否告诉我是否应该使用异步线程(也许可以解释一下与普通线程的区别)或者我可以继续使用Thread。

 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();
     }
   }
java multithreading war
1个回答
0
投票

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

您可以使用以下其中一项:

  • 使用一些Ajax(客户端控制)
  • WebSocket(服务器端控制)
© www.soinside.com 2019 - 2024. All rights reserved.