
状态概述
新状态(新线程)
线程处于创建状态,并且开始之前未调用start()方法

就绪状态(可运行)
调用start()方法后,它将进入就绪状态多线程阻塞状态,并且系统将CPU以外的所需资源分配给线程多线程阻塞状态,以便线程处于就绪状态. 另外,如果线程执行yield()方法,该线程将暂时被剥夺CPU资源并重新进入就绪状态
运行状态

Java运行时系统通过调度来选择处于就绪状态的线程以使其占用CPU并将其转变为运行状态. 此时,系统实际上执行线程的run()方法并进入运行状态
封锁状态 B>
当正在运行的线程由于某种原因无法继续运行时,它将进入阻塞状态. 这些原因包括:

1. 当执行某个线程对象的sleep()之类的阻塞类型方法时,该线程对象将被放入阻塞集中并等待超时并自动唤醒
2. 当多个线程尝试进入同步区域时,未能进入同步区域的线程将被放入锁集中,直到获得同步区域的锁并进入就绪状态为止.
3. 当线程执行对象的wait()方法时,知道该对象的notify()方法wait()/ notify()方法已执行,该线程将被放入对象的等待集中. 首先是对象.

死亡状态(Dead)
run()方法的执行结束后,线程进入死状态
如果线程执行interrupt()或stop()方法,则它还将通过异常退出而进入死状态. interrupt()方法无法中断正在运行的进程中的线程,只能中断正在阻塞进程中的线程.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-246483-1.html
就导弹放放吧
中日竞争不在于武器