簡體   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