首页 > 其他分享 >线程的生命周期,线程有几种状态

线程的生命周期,线程有几种状态

时间:2023-01-30 09:47:45浏览次数:35  
标签:状态 生命周期 -- 阻塞 几种 线程 就绪 运行

线程的生命周期:创建-->就绪-->运行-->阻塞-->死亡
线程的状态:

  1. 新建状态(New):新创建了一个线程对象
  2. 就绪状态(Runable):其它线程调用了该线程的start方法。该状态的线程都在可运行线程池中,等待获取CPU使用权
  3. 运行状态(Running):就绪状态的线程获取到了CPU使用权,开始执行程序代码
  4. 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进行就绪状态,才有机会转到运行状态继续运行
    阻塞的情况又分为三种:
    * 等待阻塞:运行的线程调用object类的wait方法,该线程会释放占用的所有资源,JVM会把该线程放到“等待池”中。进入这个状态后,是不能自动唤醒的,必须依靠其它线程调用notify或notifyAll方法才能被唤醒。
    * 同步阻塞:运行的线程在获取对象的同步锁时,若该锁正在被其它线程占用,则JVM会将该线程放入“锁池”中。
    * 其它阻塞:运行的线程调用Thread类的sleep方法或发出I/O请求时,JVM会把该线程置为阻塞状态。当sleep状态超时或I/O处理完毕时,线程重新转入就绪状态。
  5. 死亡状态(Dead):线程执行完毕或因异常退出了run方法,该线程结束生命周期。

标签:状态,生命周期,--,阻塞,几种,线程,就绪,运行
From: https://www.cnblogs.com/ccx-lly/p/17074323.html

相关文章

  • 【博学谷学习记录】超强总结,用心分享 | 进程和线程的使用
    【博学谷IT技术支持】一、介绍进程:进程是资源分配最小单位;进程之间的资源是独立的;进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间;进程是可以并行执......
  • Maven —— 生命周期
    Maven——生命周期https://hernsong.blog.csdn.net/article/details/91039311?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefa......
  • maven的各个生命周期
    maven的各个生命周期https://yumbo.blog.csdn.net/article/details/104085429?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefaul......
  • 多线程编程
    Java多线程编程Java给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任......
  • JavaScript中实现sleep睡眠函数的几种简单方法(转)
    转自:JavaScript中实现sleep睡眠函数的几种简单方法一.什么是sleep函数?sleep是一种函数,他的作用是使程序暂停指定的时间,起到延时的效果。javascript好像诶呦提供sleep工......
  • java多线程基础小白指南--synchronized同步块
    sychronized是java多线程非常关键的一个知识点,这篇博客将从synchronized几个用法以及代码来学习。sychronized的作用是能够保证同一时间只有一个线程来运行这块代码,达到并......
  • python执行shell脚本的几种方法
    一、os.system(“command”)这是python自带的执行shell命令的方法,其中最后一个0是这个命令的返回值,为0表示命令执行成功。但是使用system()无法将执行的结果保存起来。i......
  • 生命周期
    this上下文自动指向当前调用它的组件实例。避免用箭头函数来定义生命周期,否则无法通过this获取组件实例API所有API都在setup()之后调用beforeCreate组件实例初始......
  • 操作系统 - 进程与线程
    进程和线程......
  • 线程安全集合CopyOnWriteArrayList
    解决多线程的集合有以下几种1、Vertor(所有方法上加synchronized锁)能保证多线程安全,数据一致,但性能低下一般不用2、Collections.synchronizedList方法返回的List 在方......