线程状态

    xiaoxiao2025-04-01  10

    线程状态

    新生状态就绪状态运行状态死亡状态阻塞状态

    新生状态

    线程对象一旦创建,就进入到新生状态。

    就绪状态

    当调用start()方法,线程立即进入就绪状态,但是不意味着立即高度执行。

    运行状态

    进入运行状态,线程才真正执行线程的代码块。

    阻塞状态

    当调用sleep()、wait()或同步锁定时,线程进入阻塞状态,所谓就是代码不往下执行,在等待着,同理不保证调用以上方法就立即阻塞。阻塞事件解除后,重新进入就绪状态,等待CPU调度才进入运行状态。

    阻塞的原因

    sleep(),不会释放锁,带着资源。wait(),不带资源yield(),礼让线程,从运行状态转入就绪状态,而不是阻塞状态。join(),插队,合并线程,待出线程执行完成,再执行其他线程,其他线程阻塞。read(),write()

    死亡状态

    控制线程进入死亡状态,也就是想方设法使线程体的代码执行完毕或中断执行即可。一旦进入死亡状态,不能再调用start()再次启动线程。

    最新回复(0)