繁体   English   中英

在Struts2应用程序上动态创建线程

[英]Dynamically creating threads on Struts2 application

我正在研究struts 2框架。 我有一个要求,因为当用户点击特定的URL时,我需要启用功能,并且几分钟后必须禁用相同的过程。 当访问该URL时,所有这些将在后台运行。 因此,我决定使用Threads。 以下是我正在使用的代码...

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(){

}
}

当从用户调用动作时,我只是通过其对象启动线程。 由于它是一个Web应用程序,因此许多用户可以执行相同的操作。 因此,应该在执行disableTrace方法之后手动销毁创建的线程,以避免JVM问题,否则它将被垃圾收集器自动销毁。

一旦线程完成运行,就可以对其进行垃圾回收(如果没有对Thread对象的引用)。 无法对正在运行的Thread进行垃圾回收。

查看是否收集了Java线程垃圾

值得阅读相关问题。 在Java EE应用程序服务器中运行应用程序时,需要仔细管理线程。 建议您不要启动并尝试破坏应用程序代码中的线程。

暂无
暂无

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

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