如何在 Java 中检查线程是否处于活动状态
问题描述
如何检查线程是否处于活动状态?
解决方案
以下示例演示了如何通过扩展 Threda 类并使用 currentThread() 方法来检查线程是否处于活动状态。
public class TwoThreadAlive extends Thread { public void run() { for (int i = 0; i < 10; i++) { printMsg(); } } public void printMsg() { Thread t = Thread.currentThread(); String name = t.getName(); System.out.println("name = " + name); } public static void main(String[] args) { TwoThreadAlive tt = new TwoThreadAlive(); tt.setName("Thread"); System.out.println("before start(), tt.isAlive() = " + tt.isAlive()); tt.start(); System.out.println("just after start(), tt.isAlive() = " + tt.isAlive()); for (int i = 0; i < 10; i++) { tt.printMsg(); } System.out.println("The end of main(), tt.isAlive()=" + tt.isAlive()); } }
结果
上述代码示例将产生以下结果。
before start(), tt.isAlive() = false just after start(), tt.isAlive() = true name = main name = main name = main name = main name = main name = main name = main name = main name = main name = Thread name = main name = Thread The end of main(), tt.isAlive() = true name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread
java_threading.html