Java线程状态

Java线程状态

JAVA线程具有生命周期,在其生命周期中有不同的状态,分别是以下几种:

  • 新建(NEW):线程已被创建但还没启动
  • 就绪(RUNNABLE):改线程已在JVM中执行,但没有拿到计算资源或还在等CPU计算资源,还在就绪队列中排队
  • 运行中(RUNNING):线程正在运行中(从JAVA API角度不能表示这个状态,所以这个状态有争议)
  • 阻塞(BLOCKED):因为线程需要的资源有锁且目前被上锁了,线程处于等待锁的状态
  • 等待(WAITING):线程在等其他线程完成先序操作。比如当前线程是手机流水线上最后一步的质检线程,那么就要等组装线程先把手机组装好送来。Thread.join()会令线程进入等待状态
  • 计时等待(TIMED_WAIT):基本和等待状态相同,不同之处在于等待的时间是有一个时限的,超时就不等
  • 终止(TERMINATED):线程已完成使命,不论是意外退出还是正常执行的退出

线程池

如何优雅的使用和理解线程池

posted @ 2021-02-28 20:19  keep250  阅读(62)  评论(0编辑  收藏  举报