java中终止程序的执行

现在我在做的是一个javaGUI,功能是点击一个按钮会执行一段代码,这段代码要执行的时间很长,如果执行一半的时候不想再继续,则点击另外一个按钮停止代码的执行。这个停止执行... 现在我在做的是一个java GUI,功能是点击一个按钮会执行一段代码,这段代码要执行的时间很长,如果执行一半的时候不想再继续,则点击另外一个按钮停止代码的执行。这个停止执行应该怎么实现呢?各位大哥大姐帮帮忙,急.......分数不多,如果可用,一定加分。谢谢 展开
 我来答
电商运营的机会
2017-07-11 · 知道合伙人互联网行家
电商运营的机会
知道合伙人互联网行家
采纳数:436 获赞数:998
潭州教育网络科技有限公司最佳电商运营总监。

向TA提问 私信TA
展开全部

方案操作如下:

(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。

(2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!!

要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。

只有在程序非正常退出时,才使用exit方法退出程序

http://www.baidu.com/s?wd=52095384130

白卡PALA
2017-07-19 · 知道合伙人软件行家
白卡PALA
知道合伙人软件行家
采纳数:648 获赞数:3420
性能测试4年工作经验。

向TA提问 私信TA
展开全部

在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方法退出程序。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ181913645
2010-10-14 · 超过40用户采纳过TA的回答
知道答主
回答量:176
采纳率:0%
帮助的人:117万
展开全部
你这个要用到多线程了,
如果你不用多线程,程序运行时,你是点不到按钮的。
多线程的停止方法是Thread.stop();
但现在已不推荐这么使用,一般都是加一个标志,
如运行时flag=true;
停止设置flag=false;

public void run(){
while(flag){
//你的执行长时间代码
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengzai0391
推荐于2017-10-05 · 超过17用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:44.8万
展开全部
想直接整个程序的结束用System.exit(0);
如果是在for循环,while或if中尝试用return ,break等

参考资料: JAVA API

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-10-13
展开全部
利用多线程: 单独开启一个线程A执行你的耗时很长的代码段,点击停止按钮后,挂起或者中断线程A。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式