线程的构造方法解析

120 阅读1分钟

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

今天我们来阅读线程构造方法的源码:

线程的初始化方法

我们用线程构造方法,构造一个对象。 image.png

然后,我们点进去看到这个方法。 image.png

这个初始化参数从左到右第一个参数是线程组,第二个参数是任务,第三个参数是线程名称,第四个是线程栈大小。 image.png

判断这个线程名称是不是空,然后把名字存储。 image.png

然后获取当前线程,我们是在main线程创建线程就是父线程,然后获取一个线程安全管理器,如果这个线程组是空的,那就看看安全管理器是不是空,然后取线程组,如果安全管理器是空,那就从父线程中获取线程组。 image.png

这里是检查权限。 image.png

把这个没启动的线程加入这个计数 image.png

储存线程组,看是不是守护线程,储存优先级。 image.png

储存上下文加载器 image.png

设置优先级、线程栈大小和这个线程id。 image.png

线程组

第一个参数是线程组,java提供这个概念可以帮助我们管理线程,如果说你要启动很多个线程,那对它们的操作就不是很简单的,你得for循环挨个处理,但是有了线程组那就不一样了,可以批量操作线程,下篇文章我们就介绍一下这个。