线程状态详解:从新建到终止,全方位解读线程生命周期
线程状态是指线程在执行过程中的不同状态,常见的线程状态包括:\n\n1. 新建(New):当线程对象被创建后,就处于新建状态。此时线程并未开始执行,还没有分配到系统资源。\n\n2. 就绪(Runnable):当线程对象被创建后,调用start()方法启动线程后,线程进入就绪状态。此时线程已经分配到了系统资源,但还未开始执行。\n\n3. 运行(Running):当线程进入运行状态时,表示线程正在执行任务。\n\n4. 阻塞(Blocked):当线程被阻塞时,表示线程暂时停止执行,等待某个条件的满足,如等待输入输出完成、等待锁、等待其他线程的通知等。\n\n5. 等待(Waiting):当线程调用了wait()方法或join()方法后,线程进入等待状态。在等待状态下,线程会释放持有的锁,并等待其他线程的通知或者指定的时间到期。\n\n6. 超时等待(Timed Waiting):当线程调用了sleep()方法、wait()方法指定了等待时间、join()方法指定了等待时间或者LockSupport.parkNanos()方法后,线程进入超时等待状态。\n\n7. 终止(Terminated):当线程的任务执行完毕或者出现异常时,线程进入终止状态。
原文地址: https://www.cveoy.top/t/topic/qboF 著作权归作者所有。请勿转载和采集!