JAVA 线程的五个状态与之间的转换

⑴线程分为被创建、运行、临时状态、冻结、消亡五种状态。

⑵被创建后需要调用start方法才能创建线程并运行

⑶临时状态,即具有运行资格,但没有运行权的线程所处状态。当某一时间点,线程没有获得CPU的执行权,就是处于这个状态。

⑷冻结,即 放弃执行资格 的线程所处状态,目的是让线程暂时停止,让别的线程先运行。小生知道的有两种方法可以让线程进入冻结状态。

①调用sleep(time)方法,使线程进入冻结状态中的睡眠状态,且在time即时间到了之后,自动解除冻结状态。

②调用wait()方法,使线程进入冻结状态中的等待状态,且只有当用notify()等函数将其“唤醒”之后,才解除冻结。

⑸解除冻结状态之后,线程不一定直接进入运行状态,因为此时不一定能获取到CPU的执行权。可能将进入临时状态。

⑹消亡,即线程结束,当调用stop()方法或者run方法运行结束后,线程进入消亡状态。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容