线程的状态

一,线程的五种状态

1.新建状态:继承Thread或实现Runnable接口,通过调用new操作,来开辟线程空间,为当前的线程统一分配相关的系统资源等,not  alive。

2.就绪状态:当资源分配完毕后,线程已具备了相关的可运行的条件,start()方法执行完毕后,线程进入就绪状态,既一旦得到CPU执行权,即可执行的状态,alive。

3.运行状态:处于就绪状态的线程,并不一定会立即运行run()方法,而是当线程获取到CPU后,开始真正的运行run()方法,一旦run()方法开始执行,则表明该线程进入了运行状态,alive。

4.阻塞状态:运行中的线程,因为各种原因,导致线程被挂起,睡眠,等待,此时线程进入阻塞状态,alive,如:

    1).调用sleep()方法睡眠

     2).调用wait()方法等待

     3).IO资源被阻塞

5.死亡状态:线程Run方法正常结束或异常猝死,可通过isAlive()方法来判断一个线程是否已经进入了死亡状态,not alive。

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

相关阅读更多精彩内容

  • 线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状...
    远o_O阅读 1,751评论 0 0
  • 原创文章&经验总结&从校招到A厂一路阳光一路沧桑 详情请戳www.codercc.com 在上一篇文章中 谈到了为...
    你听___阅读 20,215评论 12 62
  • 线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞以及死亡状态。 1.新建状态(N...
    博为峰51Code教研组阅读 3,544评论 0 1
  • 上篇简单介绍了synchronized关键字的使用,多个线程并发操作一个共享变量时,当一个线程获得对象锁,其余线程...
    少博先生阅读 4,392评论 0 0
  • 终于等来一个 大大的 久久的 拥抱 闭了眼睛 知心沉醉 被抱了很久 温柔了很久 幸福了很久 仿佛为这拥抱 等了千年...
    活着不易阅读 1,139评论 2 5

友情链接更多精彩内容