线程启动的流程 发表于 2020-09-23 | 分类于 JAVA , 并发 为什么线程启动是调用start方法来启动线程而不能直接调用run方法?如果多次调用start方法会发生什么? 线程的状态线程从创建到死亡是会经历多个状态的流转的。它们分别是:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED start()方法是用来启动线程,真正实现了多线程运行。 run()方法是一个普通方法。 调用start()方法后会先判断线程的状态是否为NEW,所以线程只能启动一次。