我想知道如果我进行无限循环(我正在检查程序是否已启动)以及当条件Im检查变为真时,是否是错误的编码练习和/或某些后果,我使用system.exit。
答案 0 :(得分:9)
活跃的等待循环通常是一个糟糕的主意。它使整个机器变慢(包括启动另一个程序)。找到一种方法来监听程序启动事件。如果没有您的代码的任何细节,我无法提供任何更具体的建议。
调用System.exit(0)
没有任何内在错误;这一切都取决于它是什么样的程序。 (例如,Swing应用程序应该为应用程序的JFrame设置DISPOSE_ON_CLOSE
或EXIT_ON_CLOSE
,然后关闭框架。)
答案 1 :(得分:2)
您可能最好使用java.util.Timer和java.util.TimerTask类,并在计时器到期时递归重新启动计时器。正如上面的帖子所说,使用System.exit没有任何内在错误。
public static void main(String[] args){
Timer timer = new Timer(); //create a new timer
timer.schedule(new TaskLoop(), 1000); //schedule the task for 1000ms (1 sec)
}
class TaskLoop extends TimerTask {
public void run() {
System.out.println("here"); //timer's up, do whatever you need to do
Timer timer = new Timer();
timer.schedule(new TaskLoop(), 1000); //start another timer.
}
}