我在Java中使用这些方法,例如每小时运行一次:
public static void main(String[] args) throws Exception{
readLog(); // method to read log file
sortByDate(); //sort punch in data by day
checkPeopleIn(); // check people who are in, add and remove to list accordingly
output_details(); //output final details
System.out.print("_____________________________________");
}
我如何将此功能添加到此程序?在Processing中,我曾经使用millis()方法创建一个计时器,但我找不到相应的....它可用吗?
提前致谢
答案 0 :(得分:3)
如果这是长时间运行的应用程序(如守护程序或服务)的一部分,则使用计时器的解决方案是可以的。
如果您想每小时运行一次Java应用程序,则需要一个特定于操作系统的解决方案(如cron)。
答案 1 :(得分:2)
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
readLog(); // method to read log file
sortByDate(); //sort punch in data by day
checkPeopleIn(); // check people who are in, add and remove to list accordingly
output_details(); //output final details
System.out.print("_____________________________________");
}
}, 0, 1, TimeUnit.HOURS);
service.shutdown();
从thread开始:“如果您可以使用ScheduledThreadExecutor而不是Timer,请执行此操作。”
答案 2 :(得分:1)
结帐quartz-scheduler。它是一个功能丰富的开源作业调度库,几乎可以集成在任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统