线程组构造方法源码解析

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情

接着上篇文章,我们接着聊线程组

线程组构造方法

我们看这个线程组,线程组名字是system,设置优先级,然后指定父线程是空,可以看出这个是根线程组,这个方法是私有的,不是给我们调用的。 image.png

把当前线程加入线程组中 image.png

我们试试上述代码逻辑,对叭,没指定线程组就加入当前创建的main线程的线程组,如果指定线程组就是当前线程组。

image.png

我们看源码也是一样:

image.png

活跃线程和活跃线程组数量都是0:

image.png

我们这是没开启线程,所以我们需要开启线程,这里就看到活跃线程数量了:

image.png

为啥开启线程,就能统计到呢?

我们看看源码,这里是线程开启之后加入线程组:

image.png

然后启动线程加加,未启动线程减减。 image.png

线程组下面可以有线程组吗?

我们来实验一下,我们就是添加了一个子线程组,如下:

image.png

这个时候我们可以看到线程组下面还可以有一个线程组 image.png

那就是说线程组下面可以是线程,也可以是线程组。

我们来看看main线程的线程组,代码如下:

image.png

main线程的线程组还是main,main线程的父线程组就是我们说的system,这个根线程组,下面可以有子线程和子线程组,依次类推。

猜你喜欢

转载自juejin.im/post/7132640992401833991
今日推荐