(JavaEE)线程的状态

前言:进程的状态,最核心的就是 就绪状态 和 阻塞状态,这对于线程同样适用,在Java中,又赋予了线程一些其他的状态。

线程的所有状态
 

  • NEW : Thread对象已经有了,但是start 方法还没调用。
  • TERMINATED : Thread 对象还在,但内核中的线程已经没了
  • RUNNABLE : 就绪状态 (线程已经在 CPU 上执行了/线程正在排队,等待在CPU上执行)
  • TIMED_WAITING : 阻塞状态 。(由于 sleep 这种固定时间的方式产生的阻塞)
  • WAITING : 阻塞 (由于wait 这种不固定时间的方式产生的阻塞)。
  • BLOCKDE : 阻塞 (由于 锁竞争 导致的阻塞)

接下来我们会一一介绍。 

----- NEW状态 

Thread对象已经有了,但是start 方法还没调用。 

(JavaEE)线程的状态_第1张图片

(JavaEE)线程的状态_第2张图片

----- TERMINATED状态

Thread 对象还在,但内核中的线程已经没了 

(JavaEE)线程的状态_第3张图片  

(JavaEE)线程的状态_第4张图片

----- RUNNABLE  状态

就绪状态 (线程已经在 CPU 上执行了/线程正在排队,等待在CPU上执行) 

(JavaEE)线程的状态_第5张图片

(JavaEE)线程的状态_第6张图片

----- TIMED_WAITING 状态

阻塞状态 。(由于 sleep 这种固定时间的方式产生的阻塞) 

(JavaEE)线程的状态_第7张图片

(JavaEE)线程的状态_第8张图片

----- WAITING

阻塞 (由于wait 这种不固定时间的方式产生的阻塞)。 

(JavaEE)线程的状态_第9张图片

(JavaEE)线程的状态_第10张图片

 ----- BLOCKDE 

阻塞 (由于 锁竞争 导致的阻塞)

点赞,评论,收藏,支持一下

别忘了关注 up 哟 ╰(*°▽°*)╯╰(*°▽°*)╯

(JavaEE)线程的状态_第11张图片

你可能感兴趣的:(JavaEE,java,开发语言,java-ee)