线程的生命周期

1、新建(new Thread)

当线程刚刚创建出来,还未启动时(即还未调用start()方法),为此状态。

2、就绪(runnable)

线程已调用start()方法启动,正在排队等待分配CPU时间片。

3、运行(running)

线程获得CPU等资源,正在执行。此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。

4、阻塞(blocked)

由于某种原因导致正在运行的线程让出CPU并暂停自己的执行,即进入堵塞状态。

进入睡眠:使用sleep(long t)方法可使线程进入睡眠方式。一个睡眠着的线程在指定的时间过去可进入就绪状态。

进入等待:调用wait()方法。(调用motify()方法回到就绪状态)

阻塞线程:调用suspend()方法。(调用resume()方法恢复)

5、死亡(dead)

当线程执行完毕或被其他线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态。

自然终止:正常运行run()方法后终止

异常终止:调用stop()方法让一个线程终止运行

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容