我遇到了程序问题。
我试图通过他们的结尾对下载的文件进行排序。到目前为止,我已经有了观察给定文件路径并在bacasoal.php
内列出这些文件的结构。
我现在的问题是,程序会持续运行几秒钟,然后以退出代码0结束,所以一切都应该没问题。
HashSet
答案 0 :(得分:0)
new Thread() {
public void run() {
listNewFiles();
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
};
}.start();
这不是一个连续的线程。
在run()
方法中,您没有允许线程继续运行的循环条件
因此,sleep(1000);
播放一次,这是您run()
方法中最后播放的指令。返回后,run()
方法已终止,因此线程结束。
编辑:拥有连续线程的简单解决方案
例如,此代码允许线程永不停止,但进程终止:
new Thread() {
public void run() {
while (true){
listNewFiles();
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
}.start();
您可以有其他条件来停止循环(延迟,日期或时间,状态,按下的键等等)。要允许它,您应该将其置于while()
条件或块if (condition) break
中。
答案 1 :(得分:0)
boolean wantToContinue = true;
new Thread() {
public void run() {
while (wantToContinue){
listNewFiles();
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
}.start();
使用布尔变量。所以你可以从外面控制动作。给予真实条件不是好习惯。