1、新建 new 关键字创建线程之后,该线程处于新建状态 JVM为线程分配内存,初始化成员变量值 2、就绪 线程调用start()方法,线程处于就绪状态 JVM为线程创建方法栈和程序计数器,等待线程调度器调度 3、运行 就绪态的线程获得CPU资源,开始执行run()方法,线程处于运行状态 4、阻塞 调用sleep()方法 调用阻塞IO 获得同步锁 线程等待通知(notify唤醒) suspend方法,线程挂起,这个方法容易导致线程死锁,尽量避免使用此方法 5、死亡 run()/call()方法执行完成,线程正常结束 线程抛出未捕获的Exception或者Error 线程调用stop()方法结束该线程,方法熔古死锁,不推荐使用。