首页 > 文章列表 > java线程的三种结束方式

java线程的三种结束方式

java 线程
403 2022-08-06

1、完成线程运行的run()方法。

2、线程抛出未捕获的Exception或Error。

3、另一个线程调用该线程的stop()方法(该方法已被抛弃)。它们仍然存在,但不应该在新代码中使用它们,并试图在现有代码中消除它们。

实例

public class ServerThread extends Thread {
    //volatile修饰符用来保证其它线程读取的总是该变量的最新的值
    public volatile boolean exit = false;
 
    @Override
    public void run() {
        ServerSocket serverSocket = new ServerSocket(8080);
        while(!exit){
            serverSocket.accept(); //阻塞等待客户端消息
            ...
        }
    }
 
    public static void main(String[] args) {
        ServerThread t = new ServerThread();
        t.start();
        ...
        t.exit = true; //修改标志位,退出线程
    }
}

推荐操作环境:windows7系统、java10版,DELL G3电脑。