线程有5种状态,分别是新建、受阻塞、运行、死亡、休眠、等待。
在api中的解释如下图1所示
图1
图2
解释一下上述图2的过程。
1、new一个线程对象,该对象的状态为“新建状态”。
2、执行start(),如果cpu现在空闲,则切换到运行状态,否则切换到阻塞状态。
3、线程执行sleep(),切换到休眠状态,在休眠时间到期后,自动切换到(运行或阻塞)
4、执行wait(),切换到等待状态,如果不执行notifiy(),则一直处于等待状态。
5、在线程中的run()执行完毕后,线程切换到死亡状态。线程手动执行stop(),也会直接切换到死亡状态。
、