当前位置: 技术问答>java相关
为什么我的程序无法退出???
来源: 互联网 发布时间:2017-04-12
本文导语: 我的main函数到达了最后一条语句,但是在控制台上就是没有退出,这是什么原因? 不管我在最后加上return也好,System.out.println也好都不行 | 加上System.exit(0); | 那个新线程应...
我的main函数到达了最后一条语句,但是在控制台上就是没有退出,这是什么原因?
不管我在最后加上return也好,System.out.println也好都不行
不管我在最后加上return也好,System.out.println也好都不行
|
加上System.exit(0);
|
那个新线程应该是这样的:
class YourThread extends Thread {
private boolean stop = false;
public synchronized void terminate() {
stop = true;
}
public void run() {
while (!stop) {
...
}
}
...
}
在你需要结束该线程的时候就调它的terminate()
class YourThread extends Thread {
private boolean stop = false;
public synchronized void terminate() {
stop = true;
}
public void run() {
while (!stop) {
...
}
}
...
}
在你需要结束该线程的时候就调它的terminate()
|
把码发上来
|
看来是脑筋急转弯吧,呵呵
若是的话
那么就是你的程序开了新的线程,主线程退出了,新的线程还没有退出
若是的话
那么就是你的程序开了新的线程,主线程退出了,新的线程还没有退出
|
贴代码看看,精炼一点的阿
|
有没有wait(),notify()什么的?会不会死锁?
|
如果有任何non-daemon线程还在执行,主程序就不会终止
|
:)