线程状态

时间:2019-08-14
本文章向大家介绍线程状态,主要包括线程状态使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、“锁” 的生活实例

  比如,你今天要去银行办业务,你到了银行之后,要先取一个号,然后你坐在休息区等待叫号,过段时间,广播叫到你的号码之后,会告诉你去哪个柜台办理业务,这时,你拿着你手里的号码,去到对应的柜台,找相应的柜员开始办理业务。当你办理业务的时候,这个柜台和柜台后面的柜员只能为你自己服务。当你办完业务离开之后,广播再喊其他的顾客前来办理业务。

  

在这个例子中,每个顾客是一个线程。 

柜台前面的那把椅子,就是

柜台后面的柜员,就是共享资源。 

你发现无法直接办理业务,要取号等待的过程叫做阻塞

当你听到叫你的号码的时候,你起身去办业务,这就是唤醒。 

当你坐在椅子上开始办理业务的时候,你就获得锁。 

当你办完业务离开的时候,你就释放锁

对于线程来说,一共有五种状态,分别为:初始状态(New) 、就绪状态(Runnable) 、运行状态(Running) 、阻塞状态(Blocked) 和死亡状态(Dead)

原文地址:https://www.cnblogs.com/123-shen/p/11352357.html