博客主页:https://blog.csdn.net/GBS20200720
博主昵称:怎么又有bug单
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬
今天给大家看一下,从最简单的一个start启动一个线程。能获得什么知识?结合jvm和操作系统底层的运作、结合C++源代码的分析来给大家介绍一个线程是如何起来的。
到Thread线程内部第696行,这儿我们可以看得出所有的start其实调用到的是Thread.java这个类。然后它调用了这么一个同步的start方法,也就说这个线程必须要全部走完,对吧?再往下看所有的方法实质而言调用的是start0这个方法。
在这儿有一个布尔值first start0,这个方法调用完成以后,马上变成代表启动成功,那么所谓的start0又是什么呢?学过jvm的知识的同学,有这个知识背