Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每隔20秒记录一些信息,仅限Java 1.4_Java_Timer - Fatal编程技术网

每隔20秒记录一些信息,仅限Java 1.4

每隔20秒记录一些信息,仅限Java 1.4,java,timer,Java,Timer,我有一个循环,可能需要一个小时才能完成。 在循环中,我在数据库中插入和更新记录,虽然我认为这与此无关,但只是以防万一 每隔20秒左右,我想向数据库写入一个更新。 所以我想我需要在循环开始时做一些时间检查。 最好的方法是什么?嗯。如果这是你真正想做的,那么你可以做: final long interval = 20 * 1000; long lastLogged = System.currentTimeMillis(); while (processing) { if (System.curr

我有一个循环,可能需要一个小时才能完成。 在循环中,我在数据库中插入和更新记录,虽然我认为这与此无关,但只是以防万一

每隔20秒左右,我想向数据库写入一个更新。 所以我想我需要在循环开始时做一些时间检查。
最好的方法是什么?

嗯。如果这是你真正想做的,那么你可以做:

final long interval = 20 * 1000;
long lastLogged = System.currentTimeMillis();
while (processing) {
  if (System.currentTimeMillis() - lastLogged > interval) {
    lastLogged = System.currentTimeMillis();
    logToDatabase();
  }
  // do rest of processing
}
// Optionally:
logToDatabase();
long time = System.currentTimeMillis();

for(;;) {

//doStuff

if((System.currentTimeMillis() - time) > 20000) {
  // log message
  time = System.currentTimeMillis();
}

}

嗯,如果这是你真正想做的,那么你可以做:

long time = System.currentTimeMillis();

for(;;) {

//doStuff

if((System.currentTimeMillis() - time) > 20000) {
  // log message
  time = System.currentTimeMillis();
}

}

您可以创建一个20秒周期的and。

您可以创建一个20秒周期的and。

对于计时器问题,我更喜欢使用Quartz框架。我不认为最新版本支持1.4,但可能是早期版本。您可以创建作业、触发器,甚至可以使用cron表达式

对于计时器问题,我更喜欢使用石英框架。我不认为最新版本支持1.4,但可能是早期版本。您可以创建作业、触发器,甚至可以使用cron表达式

只使用Java1.4有什么特别的原因吗?1.6自2006年以来就已经过时了。是否只有Java1.4的特殊原因?1.6自2006年以来已被淘汰。