A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 007诸葛亮 中级黑马   /  2013-6-6 19:16  /  2156 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 007诸葛亮 于 2013-6-7 18:46 编辑

如何对java线程创建,运行,冻结,临时状态,消亡状态的理解?
其中线程处在临时状态时,线程具有执行资格但无执行权,这里所谓的执行资格怎么理解?

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

5 个回复

倒序浏览
线程运行状态:
                    start()               sleeptime                           运行中直接消亡 stop()
       被创建  ----->  运行     ----->         冻结                                            消亡
<-----       放弃了执行资格               run方法结束 也消亡                              
sleep时间到
                                   wait()不能直接回来 notify()唤醒
临时状态 阻塞  具备运行资格 但没有执行权
没有执行资格  冻结状态
有执行资格  临时状态
有执行资格 有执行权  运行状态
  
执行资格表示可以运行该对象   执行权(线程之间抢夺,也可以理解为,激活码,一次有效)

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
这是毕老师画的图:
释放执行权就是就是处于临时状态(具备执行资格,可能会"抢到"CPU);冻结就是没有资格也没执行权不可能 “抢到”CPU;
另外就是wait(),sleep()的区别
wait():释放cpu执行权,释放锁。
sleep():释放cpu执行权,不释放锁
回复 使用道具 举报
按照毕老师说的 临时状态也就是临时阻塞状态  有执行资格但是没有执行权  就是由于  CUP 是时分操作的 在一个确定的时刻 只能由一个线程被执行  可以类比一下  几个候选人都有胜出的资格 就是被选出来的资格来担当什么 但是  最终某个时刻 只能从里面选出来一个人担任什么职位  别的候选人 就不行了  担任什么职位 就可以看成是CPU执行这个线程  其他的线程 虽然也能被执行 但是没有抢到CUP  不好意思  就没有被执行了 但是  下一次某个时刻  还是可以被执行的
回复 使用道具 举报
张歆明 发表于 2013-6-6 23:11
按照毕老师说的 临时状态也就是临时阻塞状态  有执行资格但是没有执行权  就是由于  CUP 是时分操作的 在一 ...

谢谢!:)
回复 使用道具 举报

不客气 好  帮到你我很高兴
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马