1.检查线程状态,只有在NEW状态下的线程才能继续,否则会抛出IllegalThreadStateException(在运行中或者已结束的线程,都不能再次启动)
2.被加入线程组
3.调用start0()方法线程
注意点:
start方法是被synchronized修饰的方法,可以保证线程安全;
由JVM创建的main方法线程和system组线程,并不会通过start来启动
native修饰的代码都是有C++编写,由C++实现
分析:
通过github查看源码
不能直接调用run方法,调用start方法,间接的调用run方法