我想知道如果我进行无限循环(我正在检查程序是否已启动)并且当我检查的条件为真时,我使用 system.exit 是否是糟糕的编码习惯和/或一些后果。
问问题
495 次
2 回答
9
主动等待循环通常是一个糟糕的主意。它使整个机器变慢(包括启动其他程序)。找到一种只监听程序启动事件的方法。如果没有您的代码的任何详细信息,我无法提供任何更具体的建议。
call 本质上没有错System.exit(0)
;这完全取决于它是什么类型的程序。(例如,Swing 应用程序应该只为应用程序的 JFrame 设置DISPOSE_ON_CLOSE
或EXIT_ON_CLOSE
然后关闭框架。)
于 2013-05-02T20:06:27.507 回答
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.
}
}
于 2013-05-02T20:19:39.777 回答