在java中运行代码只有60秒

Sat*_*ish 1 java delayed-execution

我需要运行以下代码只有60秒

代码工作完美,延迟2秒,每5秒重复一次.

但在这里我只需要60秒就可以完成这一切

        int delay = 3000; // delay for 3 sec. 
        int period = 5000; // repeat every 5 sec. 
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {

            public void run() {
                System.out.println("Would it run?"+System.currentTimeMillis());
            }
        }, delay, period);
Run Code Online (Sandbox Code Playgroud)

请告诉我怎么做?

ass*_*ias 7

您只需使用以下命令即可ScheduledExecutorService:

  • 安排任务
  • 检索 ScheduledFuture
  • 60秒后取消未来:
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

final Runnable task = new Runnable() {
    public void run() {
        System.out.println("Would it run?"+System.currentTimeMillis());
    }
};
final ScheduledFuture<?> handle =
        scheduler.scheduleAtFixedRate(task, 2, 5, TimeUnit.SECONDS);
scheduler.schedule(new Runnable() {
    public void run() { handle.cancel(true); }
}, 60, SECONDS);
Run Code Online (Sandbox Code Playgroud)