写点什么

线程的五种状态

  • 2023-10-07
    湖南
  • 本文字数:389 字

    阅读完需:约 1 分钟

1.新建状态(New):

创建一个新的线程对象。

2.就绪状态(Runnable):

线程创建对象后,其他线程调用 start()方法,该线程处于就绪状态,资源已经准备就绪,等待 CPU 资源。

3.运行状态(Running):

处于就绪状态的线程获取到 CPU 资源后进入运行状态。

4.阻塞状态(Blocked):

阻塞状态是线程由于某些原因放弃 CPU 使用,暂时停止运行。

(1)等待阻塞:线程调用 start()方法,JVM 会把这个线程放入等待池中,该线程需要其他线程调用 notify()或 notifyAll()方法才能被唤醒。

(2)同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被其他线程占用,则 JVM 会把该线程放入锁池中。

(3)其他阻塞:运行的线程执行 sleep()或 join()方法,或者发出了 I/O 请求时,JVM 会把该线程置为阻塞状态。当 sleep()状态超时、join()等待线程终止或者超时、或者 I/O 处理完毕时,线程重新转入就绪状态。

5.终止状态(Terminated):

线程 run()方法运行完毕,该线程结束。


用户头像

只要码不死,就往死里码 2021-11-19 加入

还未添加个人简介

评论

发布
暂无评论
线程的五种状态_Java】_程序员万金游_InfoQ写作社区