Java终止线程的 4 种方式

2021年9月27日 1087点热度 0人点赞 0条评论
一、正常运行结束

程序运行结束,线程自动结束。

二、使用退出标志退出线程

一般 run()方法执行完,线程就会正常结束,然而,常常有些线程是伺服线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。使用一个变量来控制循环,例如:最直接的方法就是设一个 boolean 类型的标志,并通过设置这个标志为 true 或false 来控制 while循环是否退出,代码示例 :

public class ThreadSafe extends Thread {
    public volatile boolean exit = false;

    public void run() {
        while (!exit) { 
            //do something 
        }
    }
}

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

三、Interrupt方法结束线程

使用 interrupt()方法来中断线程有两种情况:

支付 ¥1.99 购买本节后解锁剩余63%的内容

小小调酒师

此刻打盹,你将做梦; 此刻学习,你将圆梦。 个人邮箱:shellways@foxmail.com

文章评论