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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乔九 中级黑马   /  2012-9-7 19:42  /  1586 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在多线程中当一个程序在执行完之后cpu资源被占据的时候是什么状态阻塞状态?  还是  就绪状态?  

2 个回复

倒序浏览
本帖最后由 冯培军 于 2012-9-7 20:08 编辑

线程的四种状态:  
  1,新线程态(New Thread)    创建一个Thread对象就生成一个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它还没有分配到系统资源。因此只能启动或终止它。任何其他操作都会引发异常。
2,可运行态(Runnable)    start()方法产生运行线程所必须的资源,调度线程执行,并且调用线程的run()方法。在这时线程处于可运行态。
  该状态不称为运行态是因为这时的线程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言,任何时刻只能有一个处于可运行态的线程占用处理机。
  Java通过调度来实现多线程对处理机的共享。   
3,冻结状态(Not Runnable)    当以下事件发生时,线程进入非运行态。    ①suspend()方法被调用;    ②sleep()方法被调用;    ③线程使用wait()来等待条件变量;    ④线程处于I/O等待。
4,消亡状态(Dead)    当run()方法返回,或别的线程调用stop()方法,线程进入消亡态 。通常Applet使用它的stop()方法来终止它产生的所有线程。


线程的四种状态.jpg (48.54 KB, 下载次数: 28)

线程的四种状态.jpg
回复 使用道具 举报
程序运行完了,就直接进入销毁状态,如果说那个时候cpu还在占用,那是暂时处于临时阻塞状态,
这个要看图,图画的不是很好,但意思基本清楚.

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马