美文网首页java线程探索
线程的七种状态

线程的七种状态

作者: 朽木亦自雕 | 来源:发表于2019-02-19 16:48 被阅读5次

七种状态

1:新建状态(New)

Thread thread = new Thread();

2:就绪状态(Runnable)

  thread.start();

3:运行状态(Run)

//抢占到CPU资源,run()方法得到执行

4:等待状态(Wait)

thread.wait();

5:阻塞状态(Blocked)

thread.join();

6:超时等待()

thread.sleep(long time);

7:死亡状态

//线程正常执行完、调用stop()方法、抛出异常或ERROR。

状态切换

运行状态切换

1:start():调用start()方法会使得该线程开始执行,正确启动线程的方式。使线程由新建(New)状态切换到就绪状态(Runnable)状态,参与CPU资源的抢占。
2:wait():调用wait()方法,进入等待状态,释放资源,让出CPU。需要在同步快中调用。
sleep():调用sleep()方法,进入超时等待,不释放资源,让出CPU
stop():调用sleep()方法,线程停止,线程不安全,不释放锁导致死锁,过时。
join():调用sleep()方法,线程是同步,它可以使得线程之间的并行执行变为串行执行。
yield():暂停当前正在执行的线程对象,并执行其他线程,让出CPU资源可能立刻获得资源执行。
yield()的目的是让相同优先级的线程之间能适当的轮转执行
notify():在锁池随机唤醒一个线程。需要在同步快中调用。
nnotifyAll():唤醒锁池里所有的线程。需要在同步快中调用。

转载:https://www.cnblogs.com/dc-earl/p/9594162.html

相关文章

  • Java 线程的七种状态

    本篇感性地介绍一下 Java 线程的七种状态以及状态之间的转换 Java 线程状态转换图 Java 线程状态 在 ...

  • 线程的七种状态

    七种状态 1:新建状态(New) 2:就绪状态(Runnable) 3:运行状态(Run) 4:等待状态(Wait...

  • java多线程

    线程六种状态 New:尚未启动的线程的线程状态(new Thread) Runnable:可运行线程的线程状态,等...

  • 2.线程状态

    线程的状态 New:尚未启动的线程的线程状态 Runnable:调用start,可运行线程的线程状态,但是实际上不...

  • 4 多线程

    多线程 线程的状态 新状态 就绪状态 运行状态 阻塞状态 终止状态 线程的优先级 1--10, 默认为5,但线程优...

  • 创建线程池的7种方式

    一、创建线程池的7种方式 线程池创建有七种方式,最核心的是最后一种: newSingleThreadExecuto...

  • java多线程基本概念(一)

    线程生命周期 说明线程工共包含5个状态: 新建状态new:调用线程构造方法创建线程后,线程进入新建状态; 就绪状态...

  • 【问答】Java多线程

    线程的状态,画一个线程的生命周期状态图 线程状态:NEW,未启动的线程;RUNNABLE,运行中,包括就绪状态和运...

  • 一、线程的状态转换

    线程的状态转换 线程的6个状态 New 线程刚创建的状态; Runnable 调用start()后的状态,可以对应...

  • 线程的学习总结

    我打算从线程得生命周期开始总结多线程: 线程的生命周期: 新建状态:线程对象创建之后,线程进入新建状态. 就绪状态...

网友评论

    本文标题:线程的七种状态

    本文链接:https://www.haomeiwen.com/subject/mpjaeqtx.html