在 Java 程序中,默认情况下,新的线程都会被加入到 main 线程所在的 group 中,main 线程的 group 名字同线程名。如同线程存在父子关系一样,ThreadGroup 同样存在父子关系。下图很好地说明了父子 thread、父子 threadGroup 以及 thread 和 group 之间的层次关系。
无论如何,线程都会被加入某个 Thread Group之中。
public ThreadGroup(String name)
public ThreadGroup(ThreadGroup parent, String name)
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());
}
}
当前线程组名字:main
group1线程组名字:Group1
group1线程组的父线程组名字:main
group2的父线程组名字:java.lang.ThreadGroup[name=Group1,maxpri=10]
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/chengqiuming/article/details/123463555
内容来源于网络,如有侵权,请联系作者删除!