Advertisement

multi-threaded thread state transition diagram and thread state overview

阅读量:

线程状态转换图解析

线程状态转化图一:

在这里插入图片描述

线程状态分类与解析

  • 新建状态(New):
    通过new语句生成的线程会进入新建状态,此时它与其他Java对象一样,仅在堆内存中分配了存储空间。

    • 就绪状态(Runnable):
      在线程对象被创建之后,当其他线程调用其start()方法时,该线程便进入就绪状态。处于就绪状态的线程已经满足运行条件,但尚未获得CPU的使用权。此状态下线程存在于可运行线程池中,持续等待CPU资源;一旦成功获取到CPU资源,该线程将进入运行状态,并自动执行自身的run方法;

    • 运行状态(Running):
      处于运行状态的线程会执行自身的run方法,直到因调用其他方法(例如Interrupt()或抛出异常)而终止、因等待某类资源而阻塞(如锁资源),或任务完成而自然结束。若在预设的时间片内未能完成执行,则会被系统调度机制移出并重新回到等待执行的状态。

    • 阻塞状态(Blocked):
      当处于运行状态的线程由于某些原因,例如调用了sleep()方法或者正在等待I/O设备资源时,会主动释放C

全部评论 (0)

还没有任何评论哟~