2

我有一个要求,即我的程序应该运行一段时间。我如何在 java 中维护一个计时器,以使程序仅从程序执行开始时间开始运行 30 分钟。

4

3 回答 3

3

您可以使用java.util.Timer来安排程序需要停止的时间。当那个时间发生时,您需要与您的主线程通信,程序应该停止运行(除非您只是想调用System.exit)。

于 2012-04-08T12:49:17.183 回答
2

试试这个(可能在 main 方法中):

Timer t = new Timer();
t.schedule(new TimerTask() {
  @Override
  public void run() {
    System.exit(0);
  }
}, 30*60000);
于 2012-04-08T12:50:13.953 回答
2

如果您使用的是 Java 1.5 或更高版本,我建议使用 Executors 框架。更具体地说,一个ScheduledExecutorService

Executors.newSingleThreadScheduledExecutor().schedule(new Runnable(){
    @Override
    public void run(){
        System.exit(0);
    }
}, 30, TimeUnit.MINUTES);

另请参阅Java Timer 与 ExecutorService?.

于 2012-04-08T13:03:19.287 回答