携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情
今天我们来阅读线程构造方法的源码:
线程的初始化方法
我们用线程构造方法,构造一个对象。
然后,我们点进去看到这个方法。
这个初始化参数从左到右第一个参数是线程组,第二个参数是任务,第三个参数是线程名称,第四个是线程栈大小。
判断这个线程名称是不是空,然后把名字存储。
然后获取当前线程,我们是在main线程创建线程就是父线程,然后获取一个线程安全管理器,如果这个线程组是空的,那就看看安全管理器是不是空,然后取线程组,如果安全管理器是空,那就从父线程中获取线程组。
这里是检查权限。
把这个没启动的线程加入这个计数
储存线程组,看是不是守护线程,储存优先级。
储存上下文加载器
设置优先级、线程栈大小和这个线程id。
线程组
第一个参数是线程组,java提供这个概念可以帮助我们管理线程,如果说你要启动很多个线程,那对它们的操作就不是很简单的,你得for循环挨个处理,但是有了线程组那就不一样了,可以批量操作线程,下篇文章我们就介绍一下这个。