博客
关于我
面试官:都说阻塞 I/O 模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
阅读量:433 次
发布时间:2019-03-06

本文共 276 字,大约阅读时间需要 1 分钟。

当使用Java的阻塞I/O模型读取数据时,线程会进入阻塞状态,操作系统会将其置于休眠状态。在JVM中,线程的状态仍然显示为RUNNABLE。这是因为JVM内部并未区分操作系统的可运行状态和运行状态,而是将这些状态统一为RUNNABLE。jstack作为JVM内部工具,显示的是JVM内部的线程状态,而不是操作系统的具体线程状态。因此,当线程阻塞时,JVM将其标记为RUNNABLE,而不是显示为BLOCKED或WATTING。这种差异是由于JVM内部线程调度机制与操作系统线程调度机制的不同,以及JVM为了简化线程状态信息而合并了多个操作系统线程状态。

转载地址:http://ftpuz.baihongyu.com/

你可能感兴趣的文章
PHP 支持8种基本的数据类型
查看>>
php 放大镜,放大镜放大图片效果
查看>>
php 数组 区别,PHP中数组的区别
查看>>
php 生成csv mac下乱码
查看>>
php中的session用法
查看>>
php之aop实践
查看>>
PHP二维数组将重复键值合并重组成三维数组
查看>>
PHP二维数组转换为一维数组
查看>>
PHP交换两个变量值
查看>>
PHP代码格式化工具phpcf常见问题解决方案
查看>>
PHP学习总结(12)——PHP入门篇之变量
查看>>
PHP学习总结(4)——PHP入门篇之PHP计算表达式
查看>>
PHP学习笔记一:谁动了你的mail(),PHP?
查看>>
PHP安全实战
查看>>
php安装扩展
查看>>
php实现根据身份证获取年龄
查看>>
PHP实现的MongoDB数据增删改查
查看>>
PHP对表单提交特殊字符的过滤和处理
查看>>
PHP将图片转换成base64格式(优缺点)
查看>>
php将多个值的数组去除重复元素
查看>>