2013-11-01 25 views
1

動態創建的線程我工作的Struts 2框架。我有一個要求,當用戶點擊一個特定的URL我需要啓用功能和想了幾分鐘後必須禁用相同的過程。所有這些將在點擊網址時在後臺運行。所以我決定用Threads來做它。以下是我正在使用的代碼...在Struts2的應用

public class ActDeactTrace extends Thread { 
@Override 
public void run() { 
    System.out.println("RUNNING THREAD...BEFORE SLEEP"); 
    enableTrace(); 
    try { 
     sleep(5000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
    System.out.println("RESUMED THREAD .... AFTER WAKE UP"); 
    disableTrace(); 
    super.run(); 
} 
public void enableTrace(){ 

} 
    public void disableTrace(){ 

} 
} 

當從用戶調用動作時,我只是通過其對象啓動線程。由於它是一個網絡應用程序,許多用戶可以做同樣的事情。因此,應在執行後disableTrace方法來避免JVM的問題還是會自動獲得由垃圾收集摧毀我手動銷燬所創建的線程。

回答

0

值得擁有this相關問題的讀取。線程需要,當你運行在Java EE應用服務器的應用程序進行認真管理。建議您不要啓動並嘗試銷燬應用程序代碼中的線程。