1.新建(new Thread
)
当创建Thread的一个实例(对象)时,此线程进入新建状态(未被启动)。Thread t1=new Thread()
2.就绪(runnable
)
线程已经被重新启动,正在等待被分配给CPU时间片,此时线程正在就绪队列中排队等待得到CPU资源。t1.start()
3.运行(running
)
线程获得CPU资源正在执行任务(run()
方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。
4.死亡(dead
)
当线程执行完毕或被其他线程杀死,此线程进入死亡状态,此时此线程不可能再次进入就绪状态等待执行。
自然终止:正常运行run()
方法后终止。
异常终止:调用stop()
方法让一个线程终止运行。
5.堵塞(blocked
)
由于某种原因导致正在运行的线程让出CPU并暂停自己的执行,进入堵塞状态。
正在睡眠:使用sleep(long t)
让线程进入睡眠,睡醒后进入就绪状态。
正在等待:调用wait()
方法。(调用motify()
方法回到就绪状态)
被另一个线程阻塞:调用挂起suspend()
方法。(调用resume()
方法恢复)