线程组的基本概念

x33g5p2x  于2022-03-14 转载在 其他  
字(1.0k)|赞(0)|评价(0)|浏览(238)

一 ThreadGroup 与 Thread

在 Java 程序中,默认情况下,新的线程都会被加入到 main 线程所在的 group 中,main 线程的 group 名字同线程名。如同线程存在父子关系一样,ThreadGroup 同样存在父子关系。下图很好地说明了父子 thread、父子 threadGroup 以及 thread 和 group 之间的层次关系。

无论如何,线程都会被加入某个 Thread Group之中。

二 创建 ThreadGroup

1 构造函数

public ThreadGroup(String name)

public ThreadGroup(ThreadGroup parent, String name)

2 代码

package concurrent;

public class ThreadGroupCreator {
    public static void main(String[] args) {
        // 获取当前线程的 group
        ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();
        // 定义一个新的 group
        ThreadGroup group1 = new ThreadGroup("Group1");
        // 程序输出
        System.out.println("当前线程组名字:" + currentGroup.getName());
        System.out.println("group1线程组名字:" + group1.getName());
        System.out.println("group1线程组的父线程组名字:" + group1.getParent().getName());
        // 定义 group2,指定 group1 为其父 group
        ThreadGroup group2 = new ThreadGroup(group1, "Group2");
        // group2 的父线程组
        System.out.println("group2的父线程组名字:" + group2.getParent());
    }
}

3 测试

当前线程组名字:main

group1线程组名字:Group1

group1线程组的父线程组名字:main

group2的父线程组名字:java.lang.ThreadGroup[name=Group1,maxpri=10]

相关文章

微信公众号

最新文章

更多