如何在Java中使用时间来操作代码?

时间:2014-01-10 13:56:56

标签: java time

我正在尝试测试Java中使用时间来操作代码。所以,假设我有一个带蛋的应用程序。在应用程序中通过60秒之后,蛋不会孵化,我将使用哪种方法或类来执行此操作?

5 个答案:

答案 0 :(得分:3)

Timer课程应该完成你的目标:

  

线程的工具,用于在后台线程中安排将来执行的任务。任务   可以安排一次性执行,或者重复执行   定期。

您可以查看一个简单的示例here

答案 1 :(得分:2)

你可以用这样的方式使用计时器

Timer timer = new Timer();

如果您希望代码多次运行:

timer.scheduleAtFixedRate(new TimerTask() {
  @Override
  public void run() {
    // Your logic here 
    // Your logic will run every 60 second
    System.out.println("egg hatched");
  }
}, 0, 60000);

如果您希望它只运行一次

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Your logic here
    System.out.println("egg hatched");
  }
}, 60000);

您可以在java here

中阅读有关课程计时器的更多信息

答案 2 :(得分:1)

最简单的老式单线程方法是

    Thread.sleep(60*1000);
    System.out.println("egg hatched");

并且没有保证在分钟后完全

答案 3 :(得分:0)

System.currentTimeMillis()以毫秒为单位返回系统的当前时间。因此,您需要在Thread循环中创建while检查当前时间并对其做出反应。

答案 4 :(得分:0)

尝试将其作为单独的预定线程运行;

ScheduledExecutorService scheduler =
                Executors.newScheduledThreadPool(1);
        Runnable hatcher = new Runnable() {
            @Override
            public void run() {
                egg.hatch();
            }
        };
        scheduler.schedule(hatcher, 60, TimeUnit.SECONDS);