栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 线程状态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 线程状态

多线程的6种状态
 New(新建)
 Runnable(可运行)
 Blocked(阻塞)
 Waiting(等待)
 Timed waiting(计时等待)
 Terminated(终止)

New 新建线程

   概述:线程处于new的状态时,是还没有开始运行的。例如 new Thread( E ),此时的状态就处于新建。
 

Runnable 可运行线程

  概述:调用start方法之后,线程就处于可运行(runnable)状态。
 为什么是“可运行”状态,而不是“运行”状态?因为在实际的任意时刻,一个可运行的线程,可能在运行状态,也可能不在运行。(量子力学?)
注:线程运行时可能暂停,比如当一个线程用完一个时间片时,操作系统中的 抢占式调度系统会剥夺此线程的运行权,然后交给另一个线程。
 

Blocked and Waiting 阻塞与等待线程

   概述:当线程处于阻塞与等待状态时是不运行任何代码的,需要由 线程调度器 重新唤醒/激活。

进入阻塞与等待状态的三种情况
  1. 当线程申请获得内部的对象锁的时候,若此锁正在被占用,此线程就会进入阻塞状态。
  2. 当一个线程等待另一个线程被 线程调度器 唤醒时,就会进入等待状态。
  3. 若方法中包含 超时参数 ,这些方法会让线程进入计时等待状态。
 

Terminated 终止

  终止原因:
  1. run方法正常退出。
  2. 没有被捕获的异常终止了run方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号