java线程状态以及其演变路径

java线程有多少种状态?

核心理解是:当下是否拥有CPU时间;
非拥有CPU时间的状态(阻塞OR等待),是如何被唤醒,超时自动唤醒?或被其他线程唤醒?自动被"操作系统"选择切换?

各种状态间的转换方式与路径

jvm或操作系统有能力直接干预线程的状态!

线程与对象的关系

线程与线程的关系==>交集

对象与对象的关系

线程的结构

线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入CPU资源来运行和调度。
参考

对象的结构

java线程与操作系统线程在状态,执行逻辑上的映射关系;

三种基本的状态

  1. Ready 代表当前的线程实例在可执行队列中,随时可以被(系统内核调度算法)切换到占用处理器的运行状态。
  2. Running代表当前的线程实例正在占用处理器运行中。
  3. Blocked代表当前的线程实例在等待相应的资源。
  4. java中线程未获得对象的锁而阻塞与操作系统中阻塞的联系.

超时等待

超时中断

用两个线程去处理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值