我有一个循环,可能需要一个小时才能完成。
在循环中,我正在数据库中插入和更新记录,尽管我认为这并不重要,但以防万一。

每隔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();

07-26 04:55