⑴线程分为被创建、运行、临时状态、冻结、消亡五种状态。
⑵被创建后需要调用start方法才能创建线程并运行
⑶临时状态,即具有运行资格,但没有运行权的线程所处状态。当某一时间点,线程没有获得CPU的执行权,就是处于这个状态。
⑷冻结,即 放弃执行资格 的线程所处状态,目的是让线程暂时停止,让别的线程先运行。小生知道的有两种方法可以让线程进入冻结状态。
①调用sleep(time)方法,使线程进入冻结状态中的睡眠状态,且在time即时间到了之后,自动解除冻结状态。
②调用wait()方法,使线程进入冻结状态中的等待状态,且只有当用notify()等函数将其“唤醒”之后,才解除冻结。
⑸解除冻结状态之后,线程不一定直接进入运行状态,因为此时不一定能获取到CPU的执行权。可能将进入临时状态。
⑹消亡,即线程结束,当调用stop()方法或者run方法运行结束后,线程进入消亡状态。