首页 > 编程语言 >Java中的线程状态

Java中的线程状态

时间:2023-03-12 18:34:56浏览次数:40  
标签:状态 RUNNABLE Java Object 线程 就绪

Java中线程的状态

  • New:新创建对象,还没执行start()方法
  • RUNNABLE:就绪态和运行状态。
  • BLOCKED:表示线程等到获取锁时候的状态。
  • WAITING:处于这种状态的线程不会被分配CPU执行时间,它们要等待被显式地唤醒。
  • TIMED_WAITED:与TIMED_WAITED不同的是,这个到达一定时间会被自动唤醒。
  • TERMINATED:线程已经执行完毕

线程的生命周期

  1. 线程被实例化,线程的状态即为NEW
  2. 线程调用start()方法,线程变成RUNNABLE。其中RUNNABLE分为运行态和就绪态。
    • 线程执行·yield()方法,从运行态->就绪态`。其实就是让出计算资源。
    • 系统重新分配计算资源,线程从就绪态->运行态
  3. 等待其他线程某些操作。
    • Object.wait()Thread.join()、进入WAITING状态。
    • Object.notifyObject.notifyAll()重回RUNNABLE状态。
  4. 线程进入进入指定时间的等待。
    • Thread.sleep(long)Object.wait(long)Thread.join(long)进入TIMED_WAITED
    • Object.notifyObject.notifyAll()重回RUNNABLE状态。
  5. 线程遇到同步锁
    • 线程等待进入sychronized方法、块的时候进入BLOCKED状态。
    • 线程获得锁,回到RUNNABLE
  6. 线程执行完成,变成TERMINATED状态。

标签:状态,RUNNABLE,Java,Object,线程,就绪
From: https://www.cnblogs.com/markseven/p/17208701.html

相关文章

  • java SE、java ME、 java EE区别和
        ......
  • java数据库代码生成工具代码
    importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.generator.AutoGenerator;importcom.baomidou.mybatisplus.generator.config.*......
  • java 异常
    异常:仅有在运行过程中,程序报错才叫做异常,在编辑是有异常那个是编译错了异常分类:异常按照对程序的影响情况来分有Error(错误)和Exception(意外);Error:虚拟机......
  • java基础六-JSP基础
    JSP基础<%%>body内输出out.print("xx")声明变量局部变量优先级大于全局变量优先级,若同时声明两个同名的变量泽使用局部 <%%>声明局部变量<%!%>声明全局变量设......
  • 数组的定义与使用--(java)
    1.数组的基本概念✨✨☀1.1什么是数组‼数组:......
  • java线程池使用小技巧:自定义拒绝策略
    java线程池默认提供了几种拒绝策略:这几个策略都实现了RejectedExecutionHandler,拿DiscardOldestPolicy来说,查看源码:核心代码只有2行:e.getQueue().poll()从列表里弹......
  • 韩顺平java学习笔记——概述
    Java执行流程分析Java文件(源文件)—javac编译->.class文件(字节码文件)--java运行->结果什么是编译Javachello.java1、 有了java源文件,通过编译器将其变异成JVM可以......
  • 韩顺平java——常用的换义字符
    Java常用的转义字符1、\t:一个制表位,实现对其功能2、\n:换行符3、\:一个4、\”:一个”5、\’:一个’6、\r:一个回车System.out.println(“韩顺平教育\r北京”);初学java......
  • Java算法——字符串
    344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)......
  • 注解处理器 2:java 注解处理器
    前篇文档:注解处理器1:javax.lang.model包讲解概览注解处理器(AnnotationProcessorTool)是javac的一个工具,它用来在编译时扫描和处理注解(Annotation)。其生效的时间......