我正在尝试测试Java中使用时间来操作代码。所以,假设我有一个带蛋的应用程序。在应用程序中通过60秒之后,蛋不会孵化,我将使用哪种方法或类来执行此操作?
答案 0 :(得分:3)
答案 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);