我觉这就有:创建,就绪,运行,阻塞,停止
可老师说有七个状态,我到现在也不清楚
欢迎高手

解决方案 »

  1.   

    http://wenku.baidu.com/view/ea967a09581b6bd97f19ea78.html楼主SEE SEE吧,图文教程
      

  2.   

    等待和池锁是阻塞的一种
    实际来说对于编码来说,Java对外只有五/六种状态:
    BLOCKED,NEW,RUNNABLE,TERMINATED,TIMED_WAITING/WAITING
      

  3.   

    但科班不讲jvm是怎么设计的。
      

  4.   

    说白了,jvm不就是一个微型的操作系统么《现代操作系统》一书中就有关于虚拟机中线程的实现的介绍,有些科班用的这本书吧?
      

  5.   

    BLOCKED,NEW,RUNNABLE,TERMINATED,TIMED_WAITING/WAITING
      

  6.   

    1、线程的实现有两种方式,一是继承Thread类,二是实现Runnable接口,但不管怎样,当我们new了这个对象后,线程就进入了初始状态;  2、当该对象调用了start()方法,就进入可运行状态;  3、进入可运行状态后,当该对象被操作系统选中,获得CPU时间片就会进入运行状态;  4、进入运行状态后情况就比较复杂了  4.1、run()方法或main()方法结束后,线程就进入终止状态;  4.2、当线程调用了自身的sleep()方法或其他线程的join()方法,就会进入阻塞状态(该状态既停止当前线程,但并不释放所占有的资源)。当sleep()结束或join()结束后,该线程进入可运行状态,继续等待OS分配时间片;  4.3、线程调用了yield()方法,意思是放弃当前获得的CPU时间片,回到可运行状态,这时与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态;  4.4、当线程刚进入可运行状态(注意,还没运行),发现将要调用的资源被synchroniza(同步),获取不到锁标记,将会立即进入锁池状态,等待获取锁标记(这时的锁池里也许已经有了其他线程在等待获取锁标记,这时它们处于队列状态,既先到先得),一旦线程获得锁标记后,就转入可运行状态,等待OS分配CPU时间片;  4.5、当线程调用wait()方法后会进入等待队列(进入这个状态会释放所占有的所有资源,与阻塞状态不同),进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify()或notifyAll()方法才能被唤醒(由于notify()只是唤醒一个线程,但我们由不能确定具体唤醒的是哪一个线程,也许我们需要唤醒的线程不能够被唤醒,因此在实际使用时,一般都用notifyAll()方法,唤醒有所线程),线程被唤醒后会进入锁池,等待获取锁标记。引自:http://webservices.ctocio.com.cn/java/423/9092423.shtml
      

  7.   

    1、新状态:线程对象已经创建,还没有在其上调用start()方法。
     
    2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。
     
    3、运行状态:线程调度程序从可运行池中选择一个线程作为当前线程时线程所处的状态。这也是线程进入运行状态的唯一一种方式。
     
    4、等待/阻塞/睡眠状态:这是线程有资格运行时它所处的状态。实际上这个三状态组合为一种,其共同点是:线程仍旧是活的,但是当前没有条件运行。换句话说,它是可运行的,但是如果某件事件出现,他可能返回到可运行状态。
     
    5、死亡态:当线程的run()方法完成时就认为它死去。这个线程对象也许是活的,但是,它已经不是一个单独执行的线程。线程一旦死亡,就不能复生。 如果在一个死去的线程上调用start()方法,会抛出java.lang.IllegalThreadStateException异常。引自:http://lavasoft.blog.51cto.com/62575/99153
      

  8.   


    从java se5 开始吧就是这6种 Thead类的
    public Thread.State getState()
      

  9.   

    百度查不到吗??? 去搜索cpu的状态基本上和java线程的状态一样,学过操作系统应该能知道,都是内存的状态问题
      

  10.   

    忘了广告:http://blog.csdn.net/wenlin56   
    原创 android、struts、lucene、spring-survey 教程 
      

  11.   

    http://wenku.baidu.com/view/ea967a09581b6bd97f19ea78.html
    里面有对Java线程的详细介绍 是Word文档 不错的 推荐你看