ThreadGroup用于组织管理线程,可通过构造函数创建,默认加入当前线程组,也可指定父组建立层级,线程可显式加入某组以便统一操作,尽管现多用线程池,但在需批量管理时仍有价值。
在Java中,ThreadGroup 用于将多个线程组织在一起,方便统一管理(如批量中断、查看状态等)。创建 ThreadGroup 很简单,可以通过其构造函数来实现。
1. 使用默认构造函数创建 ThreadGroup
直接通过 new ThreadGroup(String name) 创建一个线程组,它会自动加入当前线程所在的线程组:
ThreadGroup group = new ThreadGroup("MyGroup");
这个线程组的父组是当前线程所属的线程组(通常是 main 线程组)。
2. 指定父线程组创建 ThreadGroup
如果想明确指定父组,可以使用带父组参数的构造函数:
ThreadGroup parentGroup = new ThreadGroup("ParentGroup");
ThreadGroup childGroup = new ThreadGroup(parentGroup, "ChildGroup");
这样就建立了父子关系,childGroup 是 parentGroup 的子组。
3. 创建线程时指定所属 ThreadGroup
创建完 ThreadGroup 后,可以把线程放入其中:
ThreadGroup group = new ThreadGroup("WorkerGroup");
Thread thread = new Thread(group, () -> {
S
ystem.out.println("Running in group: " + Thread.currentThread().getThreadGroup().getName());
}, "WorkerThread");
thread.start();
这样线程就在指定的组中运行,便于后续统一管理。









