如何在XX:XX:XX时间运行方法?

1 java

您好

我想在我的程序中运行一个方法evry X小时,怎么做?我谷歌搜索没有什么:/

idr*_*sid 9

你可以考虑Quartz.

它是在java中运行的某种cron.我承认,如果你只想安排一份工作,这可能是一种矫枉过正.


Jon*_*Jon 6

您可以查看Timer类,但最好的选择是使用ScheduledExecutorService:

这会以预定的速度发出哔哔声:

import static java.util.concurrent.TimeUnit.*;
 class BeeperControl {
    private final ScheduledExecutorService scheduler =
       Executors.newScheduledThreadPool(1);

    public void beepForAnHour() {

        final Runnable beeper = new Runnable() {
                public void run() { 
                    System.out.println("beep"); 
                }
            };

        final ScheduledFuture<?> beeperHandle =
            scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);

        scheduler.schedule(new Runnable() {
                public void run() { 
                    beeperHandle.cancel(true); 
                }
        }, 60 * 60, SECONDS);
    }
 }
Run Code Online (Sandbox Code Playgroud)