通俗理解线程的生命周期

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32653877/article/details/81121241

作者:翁松秀


一个线程从出生到死亡的一生以及生命中的各个阶段

这里写图片描述
新建状态:线程婴儿刚出生到被调用start()方法之前属于新建状态,虽然在程序中新建了一个线程,但此时线程还没有启动,属于新生状态,还不会走路。

就绪状态:线程出生以后在程序中被调用start()方法,此时线程进入就绪状态,也就是刚会站,以后是飞还是走路,就看操作系统这个爸爸怎么说了。

运行状态:线程进入就绪状态之后,操作系统爸爸对所有的线程孩子进行资源的分配,看哪个线程孩子比较优秀,优先级比较高,然后优先进行调度,教它走路教它翱翔,没错,就是偏爱。被操作系统爸爸调度并分配资源的线程孩子进入运行状态,run()方法被调用就进入运行状态。

阻塞状态:如果一个线程执行了sleep(睡懒觉)、suspend(挂科)等”不良“方法,就会失去操作系统爸爸的疼爱,失去所占有的系统资源,然后该线程就会进入阻塞状态,
死亡状态:一个线程进入死亡状态的方式有两种,一种是自然死亡,另一种是非自然死亡。自然死亡就是走完了整个人生,run()方法结束后线程就进入了死亡状态。另一种非自然死亡是当其他终止条件发生的时候,比如说程序产生了羞羞的异常之类。

猜你喜欢

转载自blog.csdn.net/qq_32653877/article/details/81121241
今日推荐