线程的生命周期(比喻生动,通俗易懂)

16 篇文章 0 订阅

线程有5中状态,分别是:新建(出生)、就绪、运行、阻塞和死亡。我们可以看成三个阶段,出生——生长——死亡。

就绪、运行、阻塞有各自的判定条件,我先上图,让大家看清楚流程,然后再举例子来比喻。


我们把线程比喻成古代皇帝的一个儿子(尼古拉斯.赵四),线程执行就是当上太子(有更大的权力):

当这个皇子(赵四)从娘胎里面生下来后,就代表新建线程了;

这个皇子健康成长,可以成为太子备选人,但不能行使太子权力(就绪状态,有执行的资格,没有执行权);

皇子在皇帝(就是你自己)面前表现很好,皇帝很喜欢他,让他当太子,行使太子权力(抢到CPU资源,线程运行);

当赵四当了太子后,会有一下三种可能

a.如果皇子在当太子期间(线程运行),有其他的皇子表现更好,把现在这个皇子的太子位子抢走了,那么这个皇子(赵四)会恢复到皇子身份,不在是太子(没有执行权,回到就绪阶段,准备再当太子);

b.但如果皇子在当太子期间(线程运行),被人施了魔法(sleep(),wait()方法),导致他生病了,不能当太子,身体不好,也没有当太子的资格,现在就只能身体恢复好,然后就有了当太子的资格(线程阻塞,没有执行资格和执行权,最后回到就绪阶段)。

c.当皇子把他自己的事情处理完后,线程就结束了,线程死亡

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值