阅读量:1
在Java中,可以通过以下几种方法判断线程是否结束:
- 使用
Thread.isAlive()
方法,该方法返回一个布尔值,表示线程是否还活着。如果线程已经终止或者还未启动,则返回false,否则返回true。
Thread thread = new Thread(); thread.start(); if (thread.isAlive()) { System.out.println("线程还在运行"); } else { System.out.println("线程已经结束"); }
- 使用
Thread.join()
方法,该方法会阻塞当前线程,直到目标线程执行完毕。
Thread thread = new Thread(); thread.start(); try { thread.join(); System.out.println("线程已经结束"); } catch (InterruptedException e) { e.printStackTrace(); }
- 使用
Thread.getState()
方法,该方法返回一个枚举值,表示线程的状态。常用的状态有:
NEW
:线程还未启动RUNNABLE
:线程正在运行中TERMINATED
:线程已经终止
Thread thread = new Thread(); thread.start(); Thread.State state = thread.getState(); if (state == Thread.State.RUNNABLE) { System.out.println("线程正在运行"); } else if (state == Thread.State.TERMINATED) { System.out.println("线程已经结束"); }
以上是几种常用的判断线程是否结束的方法,根据实际情况可以选择适合的方法来判断线程的状态。