java 线程 我想让没执行完的run方法 提前终止。有什么方法

 我来答
小傻

推荐于2016-07-12 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java线程让没执行完的run方法提前终止的方法如下:
    1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 


package chapter2; 

public class ThreadFlag extends Thread 

    public volatile boolean exit = false; 

    public void run() 
    { 
        while (!exit); 
    } 
    public static void main(String[] args) throws Exception 
    { 
        ThreadFlag thread = new ThreadFlag(); 
        thread.start(); 
        sleep(5000); // 主线程延迟5秒 
        thread.exit = true;  // 终止线程thread 
        thread.join(); 
        System.out.println("线程退出!"); 
    } 
}

    2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。 
    3.  使用interrupt方法中断线程。 
    当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用线程进行监听客户端请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。如果想让循环永远运行下去,可以使用while(true){……}来处理。但要想使while循环在某一特定条件下退出,最直接的方法就是设一个boolean类型的标志,并通过设置这个标志为true或false来控制while循环是否退出。下面给出了一个利用退出标志终止线程的例子。 



    在上面代码中定义了一个退出标志exit,当exit为true时,while循环退出,exit的默认值为false.在定义exit时,使用了一个Java关键字volatile,这个关键字的目的是使exit同步,也就是说在同一时刻只能由一个线程来修改exit的值, 

basic13
推荐于2016-02-13 · TA获得超过2759个赞
知道大有可为答主
回答量:1782
采纳率:0%
帮助的人:1501万
展开全部
1.Thread类有个方法,void interrupt()
作用是中断线程
2.对于while(true)式的线程,可以设置一个public的boolean变量比如b,初始为true,把while(true)换成while(b),需要终止时,设置b为false即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Nomat
2010-10-04 · TA获得超过314个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:323万
展开全部
什么情况下要提前终止嘛,如果是其他线程完了就终止的话,可以设置为保护线程setDaemon(true)方法。
如果是执行到什么情况下终止的话可以这样
if(boo)
{
return;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
459402930
2015-10-10 · TA获得超过444个赞
知道小有建树答主
回答量:292
采纳率:83%
帮助的人:180万
展开全部
如果是方法,你就return, 线程的话,你直接直接抛异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和风独立守神
2010-10-04 · TA获得超过1049个赞
知道小有建树答主
回答量:420
采纳率:33%
帮助的人:411万
展开全部
不行,你只能让线程自己不停的去检测,是否需要退出。然后你在主线程通过共享的变量去控制子线程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式