Java 关于将任务分配给守护进程线程

Java 关于将任务分配给守护进程线程,java,threadpool,daemon,Java,Threadpool,Daemon,我有一个要求,我想创建一个由5个线程组成的池,现在我想在这5个线程中创建一个线程作为守护进程线程,当这个特定的1个线程成为守护进程线程时,然后,我想将一些任务分配给与任何服务相关的守护进程线程,这样当java程序退出时,我可以在窗口任务管理器中检查特定的守护进程线程是否仍在执行该任务。请建议如何实现该任务。。!因为我在这件事上自命不凡 下面是我的代码 public class StoppingThread extends Thread //extend thread class { /

我有一个要求,我想创建一个由5个线程组成的池,现在我想在这5个线程中创建一个线程作为
守护进程
线程,当这个特定的1个线程成为守护进程线程时,然后,我想将一些任务分配给与任何服务相关的守护进程线程,这样当java程序退出时,我可以在窗口任务管理器中检查特定的守护进程线程是否仍在执行该任务。请建议如何实现该任务。。!因为我在这件事上自命不凡

下面是我的代码

public class StoppingThread extends Thread //extend thread class 
{
    // public  synchronized void run()
     //synchronized (this)

    private volatile boolean Completed = false;


    public void setCompleted() {
        Completed = true;
    }


    public void run()
    {
      for(int i=0;i<20 && !Completed;++i) {
          System.out.println(Thread.currentThread().getName());
        try {
          Thread.sleep(500);

          System.out.print(i +"\n"+ "..");
        } catch(Exception e) {
          e.printStackTrace();
        }
      } 
    } 

 public static void main(String... a) 
 {
     StoppingThread x = new StoppingThread();
     StoppingThread y = new StoppingThread();
     x.start();
     x.setName("first");
     x.setCompleted(); // Will complete as soon as the latest iteration finishes means bolean variable value is set to true 
     y.start();
     y.setName("second");

     }  

 }
公共类停止线程扩展线程//扩展线程类
{
//公共同步的无效运行()
//已同步(此)
private volatile boolean Completed=false;
公共无效设置已完成(){
完成=正确;
}
公开募捐
{
对于(int i=0;iUse)。当应用程序结束时,将调用注册到挂钩中的线程。您可以在此线程运行方法中添加所有清理代码(DB、流、上下文等)或任何自定义功能

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { // clean up code like closing streams,DB etc }
});
使用。当应用程序结束时,将调用您注册到挂钩中的线程。您可以在此线程运行方法中添加所有清理代码(DB、Stream、Context等)或任何自定义功能

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { // clean up code like closing streams,DB etc }
});

@Akhil..你能修改我上面的代码吗..!根据你的建议,这将对理解概念有很大帮助让我引用你的话“当java程序退出时,我可以在窗口任务管理器中检查特定的守护进程线程仍在执行该任务”.你能详细说明一下吗?如果没有其他线程运行,守护进程线程将退出。那么,你到底想让这个线程做什么?@Akhil..你能修改我上面的代码吗..!根据你的建议,这将对理解这个概念有很大帮助让我引用你的话“当java程序退出时,我可以在窗口任务管理器中检查特定的守护进程线程是否仍在执行该任务”。您能否详细说明一下?如果没有其他线程运行,守护进程线程将退出。那么您希望该线程具体做些什么?