目录
- 1 简介
- 2 线程组树的结构
- 3 线程组的构造
- 4 API
- 5 终止线程组中的所有线程
1 简介
一个线程集合。是为了更方便地管理线程。父子结构的,一个线程组可以集成其他线程组,同时也可以拥有其他子线程组。
从结构上看,线程组是一个树形结构,每个线程都隶属于一个线程组,线程组又有父线程组,根线程组——System线程组。
2 线程组树的结构
- JVM创建的system线程组是用来处理JVM的系统任务的线程组,例如对象的销毁等
- system线程组的直接子线程组是main线程组,这个线程组至少包含一个main线程,用于执行main方法
- main线程组的子线程组就是应用程序创建的线程组。
- 两个构造函数的用法:
输出如下:
Active thread groups in main thread group: 2 java.lang.ThreadGroup[name=main,maxpri=10] Thread[main,5,main] java.lang.ThreadGroup[name=subgroup 1,maxpri=10] java.lang.ThreadGroup[name=subgroup 2,maxpri=10]
5 终止线程组中的所有线程
一个线程不应由其他线程来强制中断或停止,而是应该由线程自己自行停止。
因此 Thread.currentThread().stop(), Thread.currentThread().suspend(), Thread.currentThread().resume() 都已经被废弃了。
interrupt() 方法的作用是通知线程应该中断了,具体到底中断还是继续运行,由被通知的线程处理。
原文地址:https://javaedge.blog.csdn.net/article/details/104255721