Java如何销毁线程组?

可以使用ThreadGroup类的destroy()方法销毁线程组。它将清理线程组并将其从线程组层次结构中删除。它不仅破坏了线程组,还破坏了它的所有子组。

destroy()方法用途有限:只有在线程组中当前没有线程时,才能调用该方法。

package org.nhooo.example.lang;

public class ThreadGroupDestroy {
    public static void main(String[] args) {
        ThreadGroup root = new ThreadGroup("Root");
        ThreadGroup server = new ThreadGroup(root, "ServerGroup");
        ThreadGroup client = new ThreadGroup(root, "ClientGroup");

        // 销毁“ root”线程组及其所有子组
        // ('server' & 'client')
        root.destroy();

        // 检查“根”组及其子组是否已被销毁
        if (root.isDestroyed()) {
            System.out.println("Root group is destroyed");
        }

        if (server.isDestroyed()) {
            System.out.println("Server group is destroyed");
        }

        if (client.isDestroyed()) {
            System.out.println("Client group is destroyed");
        }
    }
}