java中终止程序的执行
现在我在做的是一个javaGUI,功能是点击一个按钮会执行一段代码,这段代码要执行的时间很长,如果执行一半的时候不想再继续,则点击另外一个按钮停止代码的执行。这个停止执行...
现在我在做的是一个java GUI,功能是点击一个按钮会执行一段代码,这段代码要执行的时间很长,如果执行一半的时候不想再继续,则点击另外一个按钮停止代码的执行。这个停止执行应该怎么实现呢?各位大哥大姐帮帮忙,急.......分数不多,如果可用,一定加分。谢谢
展开
5个回答
展开全部
方案操作如下:
(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。
(2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!!
要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。
只有在程序非正常退出时,才使用exit方法退出程序
展开全部
在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,
public static void main(String[] args) {
System.out.println("开始进入程序...");
//do something
System.out.println("程序准备退出了!");
System.exit(0);
//下面这句话将不会打印出来
System.out.println("程序已经退出了!");
}
但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。
public static void main(String[] args) {
System.out.println("开始进入程序...");
//do something
new Thread(){
public void run() {
while (true) {
System.out.println("我是另外的线程...");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
//获取man线程
Thread main = Thread.currentThread();
System.out.println(main.getName());
main.interrupt();
System.out.println("main线程已经退出了,但是不影响其他线程运行!");
}
只有在程序非正常退出时,才使用exit方法退出程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个要用到多线程了,
如果你不用多线程,程序运行时,你是点不到按钮的。
多线程的停止方法是Thread.stop();
但现在已不推荐这么使用,一般都是加一个标志,
如运行时flag=true;
停止设置flag=false;
public void run(){
while(flag){
//你的执行长时间代码
}
}
如果你不用多线程,程序运行时,你是点不到按钮的。
多线程的停止方法是Thread.stop();
但现在已不推荐这么使用,一般都是加一个标志,
如运行时flag=true;
停止设置flag=false;
public void run(){
while(flag){
//你的执行长时间代码
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想直接整个程序的结束用System.exit(0);
如果是在for循环,while或if中尝试用return ,break等
如果是在for循环,while或if中尝试用return ,break等
参考资料: JAVA API
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-10-13
展开全部
利用多线程: 单独开启一个线程A执行你的耗时很长的代码段,点击停止按钮后,挂起或者中断线程A。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询