当前位置: 技术问答>java相关
为何程序不会结束
来源: 互联网 发布时间:2015-04-25
本文导语: 请问,程序不结束,可能有哪些原因 我的程序已经把加的监听器都 remove 了,为何程序还是不会退出 public class testClass{ public testClass(){ addListener1(this); addListener2(this); …… remo...
请问,程序不结束,可能有哪些原因
我的程序已经把加的监听器都 remove 了,为何程序还是不会退出
public class testClass{
public testClass(){
addListener1(this);
addListener2(this);
……
removeListener1(this);
removeListener2(this);
System.out.println("program is end");
}
}
结果是, program is end 可以打印,但是程序没有结束
请问,可能是什么原因,如何排除
谢谢
我的程序已经把加的监听器都 remove 了,为何程序还是不会退出
public class testClass{
public testClass(){
addListener1(this);
addListener2(this);
……
removeListener1(this);
removeListener2(this);
System.out.println("program is end");
}
}
结果是, program is end 可以打印,但是程序没有结束
请问,可能是什么原因,如何排除
谢谢
|
我看不太懂你的程序,因为所有东西都封装起来了。如果这个程序export一个RMI对象供其他程序调用,那RMI Reaper的存在是正常的,主程序不退出也可以解释,你unexport RMI对象就应该可以了。如果这个程序只是调用RMI对象,那我也不知道为什么会出现这种情况了。。。
|
同意jimjxr(宝宝猫)
程序是独立执行的话可以加System.exit(),如果是其它程序调用的话就不要加。
public Thread findThread(String target)
{
int SAFETY_MARGIN = 10;
// Find master ThreadGroup which all others descend
ThreadGroup rootGroup = Thread.currentThread().getThreadGroup();
while(rootGroup.getParent() != null)
{
rootGroup = rootGroup.getParent();
}
Thread threadList[] = new Thread[rootGroup.activeGroupCount() + SAFETY_MARGIN];
int count = rootGroup.enumerate(threadList);
Thread aThread;
for(int i = 0; i
程序是独立执行的话可以加System.exit(),如果是其它程序调用的话就不要加。
public Thread findThread(String target)
{
int SAFETY_MARGIN = 10;
// Find master ThreadGroup which all others descend
ThreadGroup rootGroup = Thread.currentThread().getThreadGroup();
while(rootGroup.getParent() != null)
{
rootGroup = rootGroup.getParent();
}
Thread threadList[] = new Thread[rootGroup.activeGroupCount() + SAFETY_MARGIN];
int count = rootGroup.enumerate(threadList);
Thread aThread;
for(int i = 0; i