可以使用 ThreadGroup.isDestroyed ()方法检查线程组及其子组是否已被销毁。
package org.nhooo.example.lang; public class CheckGroupDestroy { public static void main(String[] args) { ThreadGroup grandParent = new ThreadGroup("GrandParent"); ThreadGroup uncle = new ThreadGroup(grandParent, "Uncle"); ThreadGroup parent = new ThreadGroup(grandParent, "Parent"); ThreadGroup son = new ThreadGroup(parent, "Son"); ThreadGroup daughter = new ThreadGroup(parent, "Daughter"); ThreadGroup neighbour = new ThreadGroup("Neighbour"); ThreadGroup[] groupArray = { grandParent, uncle, parent, son, daughter, neighbour }; // 销毁“父”组及其所有子组 parent.destroy(); for (ThreadGroup tg : groupArray) { if (tg.isDestroyed()) { System.out.println(tg.getName() + " is destroyed"); } else { System.out.println(tg.getName() + " is not destroyed"); } } } }
结果是:
GrandParent is not destroyed Uncle is not destroyed Parent is destroyed Son is destroyed Daughter is destroyed Neighbour is not destroyed