线程的生命周期

1. 新建

使用new关键字创建了一个线程对象,初始化了其成员变量

2. 就绪

调用start()方法,但此时jvm还未调用它。

3. 运行

jvm调用了线程,开始执行run()方法。

4. 阻塞

使用了某些方法使线程进入了阻塞状态

  • 线程调用sleep()
  • 线程中使用了wait()方法,或者await()方法,等待其他线程唤醒
  • 调用了阻塞式io方法
  • 试图获得一个同步监视器,但被其他线程占用

5. 死亡

有两种情况,一个线程的run方法执行完毕,另一个是线程执行期间抛出了未捕获的异常

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

推荐阅读更多精彩内容