【发布时间】:2017-06-14 07:54:04
【问题描述】:
我需要一个无限循环的批处理程序。在这个循环中,他正在做某事,然后等待 x 秒。现在的问题是,如何从程序外部停止循环?一种选择是读取文件并在 s.o. 时中断。在里面写了“STOP”,但是如果我总是打开和关闭文件,性能如何?
是否可以在同一运行时内启动第二个线程,例如将布尔“运行”设置为 false 或其他? 这是我的“停止文件”代码。
Integer endurance = args[3] != null ? new Integer(args[3]) : new Integer(System.getProperty("endurance"));
BufferedReader stop = new BufferedReader(new FileReader(args[4] != null ? args[4] : System.getProperty("StopFile")));
while (!stop.readLine().toUpperCase().equals("STOP"))
{
doSomething(args);
try {
Thread.sleep(endurance);
} catch (InterruptedException e) {
e.printStackTrace();
System.exit(12);
}
stop.close();
stop = new BufferedReader(new FileReader(args[4] != null ? args[4] : System.getProperty("StopFile")));
}
【问题讨论】:
标签: java loops batch-processing exit