2013-04-02 38 views
-1

正如所提到的,我們可以將一個線程作爲守護線程,並在檢測其他線程狀態時執行一些檢測代碼?我希望守護線程將每5分鐘執行(或多或少,誤差不能是巨大的,幾秒鐘的延遲是可以接受的)MultiThreads:我們可以將一個線程作爲守護線程,並且每5分鐘對其他的線程執行線程狀態檢測

+0

看到這個:http://stackoverflow.com/questions/426758/running-a-java-thread-in-intervals – Azodious

回答

0

看一看這樣的:

public static void main(String[] args) throws InterruptedException { 

    ScheduledThreadPoolExecutor svc = new ScheduledThreadPoolExecutor(1, new ThreadFactory() { 

     @Override 
     public Thread newThread(Runnable r) { 
      Thread t1 = new Thread(r); 
      t1.setDaemon(true); 
      return t1; 
     } 
    }); 

    svc.scheduleWithFixedDelay(new Runnable() { 

     @Override 
     public void run() { 
      System.out.println("Himanshu "+Thread.currentThread().getName()); 
     } 
    }, 5, 5, TimeUnit.SECONDS); 

    svc.awaitTermination(10000, TimeUnit.SECONDS); 
} 
0

here第一,像@Azodious說的。您要安排的工作是使用ThreadMXBean s。見樣本核心here