Java线程状态变化分析:从NEW到TERMINATED
在这段代码中,线程的状态变化是从新建(NEW)状态到就绪(RUNNABLE)状态,然后再到运行(RUNNING)状态,最后结束(TERMINATED)状态。\n\n当线程对象被创建后,调用start()方法启动线程,线程进入就绪状态,表示线程已经被创建并可以运行。在就绪状态下,线程等待调度器的调度,一旦得到CPU时间片,线程就会进入运行状态。\n\n在运行状态下,线程执行run()方法中的代码逻辑,打印出"线程开始执行"和"线程执行结束"的消息。在run()方法中,通过调用Thread.sleep()方法模拟线程执行耗时操作,使线程休眠一段时间。\n\n然后,线程执行完run()方法中的代码后,线程进入结束状态,表示线程已经执行完毕。在结束状态下,线程不会再被启动,也不会再次进入就绪状态。\n\n在这段代码中,由于线程的执行时间非常短,可能在打印状态信息之前就已经执行完毕,导致打印出来的状态都是RUNNABLE。如果在线程执行耗时操作之后再打印状态信息,可能会看到线程状态变为其他状态,如TIMED_WAITING或TERMINATED。
原文地址: https://www.cveoy.top/t/topic/p7wz 著作权归作者所有。请勿转载和采集!