美文网首页
线程的生命周期

线程的生命周期

作者: 躺在家里干活 | 来源:发表于2019-10-08 09:49 被阅读0次

线程的生命周期图


生命周期图
  • 新建(new Thread)
  • 当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动),此时系统还没有为其分配资源
  • 例如:Thread t1=new Thread()
  • 通过Thread类的方法,可以设置线程的优先级(setPrioriry)、线程名(setName)、线程类型(setDaemon)

</br>

  • 就绪(runnable)
  • 线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源
  • 例如:t1.start()
  • 如果某线程执行了yield()方法,那么该线程会被暂时剥夺CPU资源,重新进入就绪状态

</br>

  • 运行(running)
  • 线程获得CPU资源正在执行任务(run()方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束
  • 通过使用Thread类的isAlive方法,可以判断线程状态,true代表线程处于就绪或运行状态,false表示线程处于 阻塞或停止状态

</br>

  • 死亡(dead)
  • 当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行

</br>

  • 自然终止:正常运行run()方法后终止
  • 异常终止:调用stop()方法或interrupt()方法让一个线程终止运行
  • 阻塞(blocked)
  • 由于某种原因导致正在运行的线程让出CPU并暂停自己的执行,即进入堵塞状态

</br>

  • 正在睡眠:用sleep(long t)
  • 正在等待:调用wait()方法的对象将会进入阻塞状态。调用motify()方法回到就绪状态。调用上述方法时要求线程首先获取到该对象的锁

我的个人博客,有空来坐坐

相关文章

  • 多线程之(线程的生命周期)

    线程的生命周期 如果我们想学会、理解,或者用好线程就必须要知道(熟悉)线程的生命周期。线程的生命周期分为:新建阶段...

  • 线程的学习总结

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

  • 需要看的源码

    线程池,看excute的整个过程,线程什么时候会被销毁,线程池的生命周期,线程池里线程的生命周期,项目中怎么用的线...

  • Thread相关学习之二 - JavaThread&JV

    线程生命周期 JavaThread生命周期 线程生命周期就在上述的6个状态中流转,如下图: JVMTIThread...

  • Java知识梳理六

    一、Java多线程一 1.谈谈线程的生命周期和状态转移 关于线程生命周期的不同状态,在Java 5以后,线程...

  • 二、【Java并发】线程生命周期以及常用方法

    线程的生命周期 每个线程都有自己的生命周期,下面我们就来详细的了解一下。 从上图我们可以看出线程的生命周期大致可以...

  • JVM内存区域

    线程私有区域生命周期与线程的生命周期一样,依赖用户线程的启动/结束而创建/销毁(在hotspot vm内,每个线程...

  • Java知识总结之Thread

    1 线程的生命周期 每个线程都有自己的局部变量表、程序计数器以及生命周期。 上图就时一个线程的生命周期图,答题可以...

  • Java基础学习备忘录(连载之:线程的生命周期)

    疑难困惑备忘录之:线程的生命周期问题。 线程:操作系统能够进行运算调度的最小单位 Java线程的生命周期,即:线程...

  • 深入Java线程(二)

    为了理解可先看深入Java线程(一)内容在看本篇。 线程生命周期 关于线程生命周期的不同状态,在 Java 5 以...

网友评论

      本文标题:线程的生命周期

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