我有一个循环,可能需要一个小时才能完成。
在循环中,我正在数据库中插入和更新记录,尽管我认为这并不重要,但以防万一。
每隔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();