当我关闭程序时,怎样释放和关闭线程呢? 我用的是SWT做的窗口程序,假如运行五个无线循环的线程,如何当我关闭程序时,线程也不工作并自动释放呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以这样试试Runtime.getRuntime().addShutdownHook( new Thread() { public void run() { try { yourThread.interrupt(); //或者在你的Thread的设置一个标志over,在循环中判断if (over) break;然后这里yourThread.setOver(true); } catch (Throwable e) { e.printStackTrace(); } } }); 退出窗口的时候jvm应该也退出,os会回收的!以前我也用SWT做了个窗口程序,也有无线循环的线程。我发现窗口推出的时候jvm也推出了 可以这样试试Runtime.getRuntime().addShutdownHook( new Thread(){ public void run(){ try {...} catch (Throwable e){e.printStackTrace();} finally{yourThread.interrupt(); //或者在你的Thread的设置一个标志over,在循环中判断if (over) break;然后这里yourThread.setOver(true); } } }); 我结束的时候用的是 return...... 实现AbstractCollection出现空指针异常 新人求解 ConcreteMediator类及其相关的类为什么在api找不到 eclipse +wtp 用ant編譯的時候出現jdk1.4 高手快快帮帮忙! 求教数据移植 奇奇怪怪的package jcreator问题求救 各位JAVA前辈,小第刚刚开始学习JAVA,请问如何才能迅速上手阿,清赐教! 如何可以返回ResultSet记录集并能计算出有多少行? 这是什么错误 ,我怎么老碰到它呀 高分请求 万事万物皆对象,那么 int a=10也是对象吗?
Runtime.getRuntime().addShutdownHook(
new Thread() {
public void run() {
try {
yourThread.interrupt(); //或者在你的Thread的设置一个标志over,在循环中判断if (over) break;然后这里yourThread.setOver(true);
} catch (Throwable e) {
e.printStackTrace();
}
}
}
);
以前我也用SWT做了个窗口程序,也有无线循环的线程。我发现窗口推出的时候jvm也推出了
Runtime.getRuntime().addShutdownHook(
new Thread(){
public void run(){
try {...
} catch (Throwable e){
e.printStackTrace();
} finally{
yourThread.interrupt(); //或者在你的Thread的设置一个标志over,
在循环中判断if (over) break;然后这里yourThread.setOver(true);
}
}
}
);
return......