ThreadGroup用于组织管理线程,可通过构造函数创建,默认加入当前线程组,也可指定父组建立层级,线程可显式加入某组以便统一操作,尽管现多用线程池,但在需批量管理时仍有价值。

在Java中,ThreadGroup 用于将多个线程组织在一起,方便统一管理(如批量中断、查看状态等)。创建 ThreadGroup 很简单,可以通过其构造函数来实现。
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
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, () -> {
System.out.println("Running in group: " + Thread.currentThread().getThreadGroup().getName());
}, "WorkerThread");
thread.start();
这样线程就在指定的组中运行,便于后续统一管理。4. 注意事项
ThreadGroup 是 Java 提供的一种较早期的线程管理方式,现在多数场景推荐使用线程池(如 ExecutorService)来管理线程。不过在需要对一组线程进行统一操作(如监控、中断)时,ThreadGroup 仍有其用途。基本上就这些。不复杂但容易忽略的是:如果不指定父组,系统会自动设为当前线程的线程组。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










