多线程——线程的运行状态(面试题)(29)

视频:https://edu.aliyun.com/course/36/lesson/list?spm=5176.8764728.aliyun-edu-course-tab.2.W6yOMF

线程的启动使用的是start()方法,但是并不是意味着调用了start方法就立刻启动多线程。

线程转换状态:

当多线程调用了start()方法之后并不是立刻执行,而是进入了就绪状态,等待进行调度后执行。调度就是需要将资源分配给程序运行后才可以执行多线程中的代码(run中的代码)。但这个程序并不是一直执行的,在执行了一段时间之后,需要让出资源,让其它线程来继续执行。即run方法可能还没执行完,可能只执行了一半,那么这个时候让出资源,随后要重新进入就绪状态,重新等待分配新资源,再继续执行。当线程执行完毕后才会进入到终止状态。

原文地址:https://www.cnblogs.com/dengyt/p/6953966.html