-1

如前所述,我们可以将一个线程作为守护线程,并在检测其他线程状态时执行一些检测代码吗?我希望守护线程每 5 分钟执行一次(或多或少,误差不能很大,可以接受几秒钟的延迟)

4

2 回答 2

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);
}
于 2013-04-02T11:20:05.530 回答
0

首先看这里,就像@Azodious 说的那样。您要安排的作业正在使用ThreadMXBeans。在此处查看示例核心。

于 2013-04-02T11:21:29.180 回答