在之前的分享中提到过关于Thread的部分源码分析,其中提到的一个比较关键的概念就是关于ThreadGroup的概念,也就是说每个一个线程创建之后都会属于一个线程组。每个线程组也可以有自己的父线程组,也可以有自己的子线程组。就想每个线程既有自己的子线程也有自己的父线程。这次分享就是主要来探讨一下关于线程组TreadGroup
ThreadGroup
在之前的时候我们分析过,对于任意一个创建的新的线程都会被加入到main线程所在的线程组中,而对于main线程来说,是有一个与线程同样名字的线程组。也就是说线程和线程组有包含的关系,而线程组之间有父子关系,线程与线程之间也有父子关系。
创建ThreadGroup
首先看一下关于ThreadGroup的源码,提供了一个无参构造函数和三个有参构造函数
无参构造
设置了三个属性,线程组名称、最大优先级以及父线程组
private ThreadGroup() {