美文网首页
线程生命周期

线程生命周期

作者: Du___ | 来源:发表于2019-03-21 11:16 被阅读0次

1、RUNNABLE和BLOCKED的状态转换——线程等待synchrozied的隐式锁。

线程调用阻塞式API时,是否会转换到BLOCKED状态?

在操作系统层面,线程是会转换到休眠状态,但是在JVM层面,java线程的状态不会发生变化,也就是说java线程的状态会依然保持RUNNABLE状态,JVM层面并不关心操作系统调度相关的状态,因为在JVM看来,等待CPU使用权(操作系统层面此时处于可执行状态)与等待I/O(操作系统层面此时处于休眠状态)没有区别,都是在等待某个资源,所以都归入了RUNNABLE状态。

我们平时所谓的java在调用阻塞式API时,线程会阻塞,指的是操作系统线程的状态,并不是java线程的状态。


2、RUNNABLE 与 WAITING 的状态转换

2.1、获得synchrozied隐式锁的线程,调用无参数的Object.wait()

2.2、Thread.join(),例如有一个线程对象A,当调用A.join()的时候,执行这条语句的线程会等待threadA 执行完。

2.3、调用LockSupport.park()方法。

3、RUNNABLE 与 TIMED_WAITING 的状态转移

WAITING基础上加了超时参数

相关文章

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

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

  • 线程的学习总结

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

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

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

  • 需要看的源码

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

  • Java知识梳理六

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

  • [Java多线程编程之二] 当初叫人家小甜甜,现在叫我牛夫人 —

    一、线程生命周期与状态   一个线程从创建、运行到终止称为一个生命周期,线程在其生命周期中要经历创建、就绪、运行、...

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

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

  • 多线程学习笔记

    一.线程基础概念 1.线程生命周期 线程生命周期 新建-就绪-运行-死亡,运行中可以进入阻塞状态 线程执行完任务会...

  • JVM内存区域

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

  • 深入Java线程(二)

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

网友评论

      本文标题:线程生命周期

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