我有以下课程,该课程安排每5分钟执行一次“ update”方法。问题是我希望“更新”执行固定的次数。当我使用scheduler.shutdown()时,update方法不再执行,但是程序仍在运行,我想什么也不做。
如何完全停止?
static Runnable update = new Runnable() {
@Override
public void run() {
if (count >= MAX_UPDATES) {
scheduler.shutdown();
} else {
//Do something
count++;
}
}
}
public static void main(String[] args) {
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(update, 0, 5, TimeUnit.MINUTES);
}
最佳答案
您可以使用System.exit(int exitCode);
请注意,如果这样做,jvm将立即终止。这也是finally{}
块不会执行的唯一情况。