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

java中线程的状态

时间:2023-05-31 09:02:32浏览次数:34  
标签:状态 java WATTING 源码 线程 sleep 中线

一:从操作系统上说可以分为 5种

  1.  新建:线程被创建出来时
  2. 就绪:此时cpu拥有可执行权,但是未被真正执行
  3. 运行中:线程正在执行
  4. 等待:被阻塞了(sleep wait方法等)
  5. 结束:整个线程结束

二:从java源码中分为 6种状态

从Thread源码中我们可以看到一个枚举类 :JAVA给出了以下6种状态

  1. NEW   新建状态 
  2. RUNABLE   就绪和运行合并在一块的
  3. BLOCKED   获取到了锁被syn/lock修饰的代码块
  4.  WATTING 等待状态(需要被手动唤醒 wait)
  5. TIME_WATTING 等待状态 如sleep自动释放
  6. TERMINATED  结束状态

 

标签:状态,java,WATTING,源码,线程,sleep,中线
From: https://www.cnblogs.com/javacx/p/17444440.html

相关文章

  • Java中如何中断线程
    在Java中,可以使用以下方法中断线程:1.使用`interrupt()`方法:每个线程对象都有一个`interrupt()`方法,用于中断该线程。当调用线程的`interrupt()`方法时,它会设置线程的中断状态为"中断",但并不会立即停止线程的执行。线程在执行过程中可以通过检查中断状态来决定是否终止执行。2.......
  • Java并发(七)----线程sleep、yield、线程优先级
    1、sleep与yieldsleep调用sleep会让当前线程从Running进入TimedWaiting状态(阻塞)其它线程可以使用interrupt方法打断正在睡眠的线程,这时sleep方法会抛出InterruptedException睡眠结束后的线程未必会立刻得到执行建议用TimeUnit的sleep代替Thread......
  • 基于JAVA的springboot+vue学生综合测评系统,附源码+数据库+论文+PPT
    1、项目介绍本学生综合测评系统以springboot作为框架,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括首页,个人中心,学生管理,试题信息管理,测评试题管理,管理员管理,综合测评管理,系统管理,综合考试管理等功能,通过这些功能的实现基本能够满足日常......
  • HTTP响应状态码
    HTTP响应状态码一、状态码大类状态码分类说明1xx响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它2xx成功——表示请求已经被成功接收,处理已完成3xx重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理......
  • java中什么是锁消除和锁粗化?
    锁消除和锁粗化都是Java中针对锁的优化技术。锁消除:在Java编译时,JIT编译器可以通过静态分析发现不必要的同步,然后将其消除。这样会使得代码执行更快,因为它减少了线程的上下文切换和锁处理的开销。锁粗化:在Java中,每次加锁和解锁都需要进行系统调用。如果加锁和解锁的代码很近,那么......
  • java运行数据区域
    1程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,他可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转......
  • JAVA三大特性
    封装把对象的属性和具体行为看成一个私有的不可见的整体,不允许被外部修改,但是提供访问接口这种对外简单使用,对内隐藏复杂性的形式符合高内聚低耦合的程序设计也提高了系统整体的可维护性典型的是使用private控制访问权限私有 继承父类可以有多个子类,子类只能有一个分类......
  • Javascript上传文件到阿里OSS存储,并支持进度查看
    现在使用js上传文件的插件有很多,例如:plupload等等今天我记录一下使用原生js的上传文件,并且支持进度查看,下面直接上代码:html代码:<inputtype="file"onchange="uploadMedia(this)"><aid="showProgress"style="display:none;"href="#"></a>预览效......
  • Python 执行Javascript脚本
    一、安装第三方库pipinstallPyExecJS二、创建一个js文件//test.jsfunctionadd(a,b){returna+b}三、创建一个python文件#testJs.pyimportexecjsctx=execjs.compile(open('./test.js','r',encoding='utf-8').read())print(ctx.call('add&#......
  • JAVA快速回顾
    原文来自:Java关键字_w3cschool 1.JAVA关键字/保留字/标识符abstractclassextendsimplementsnullstrictfptrueassertconstfalseimportpackagesupertrybooleancontinuefinalinstanceofprivateswitchvoidbreakdefaultfinallyintprotected......