博客
关于我
面试官:都说阻塞 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/

你可能感兴趣的文章
OneASP 安全公开课,深圳站, Come Here, Feel Safe!
查看>>
OneBlog Shiro 反序列化漏洞复现
查看>>
one_day_one--mkdir
查看>>
ONI文件生成与读取
查看>>
Online PDF to PNG、JPEG、WEBP、 TXT - toolfk
查看>>
onlstm时间复杂度_CRF和LSTM 模型在序列标注上的优劣?
查看>>
onlyoffice新版5.1.2版解决中文汉字输入重复等问题
查看>>
onnx导出动态输入
查看>>
onnx导出动态输入
查看>>
onScrollStateChanged无效
查看>>
onTouchEvent构造器
查看>>
on_member_join 和删除不起作用.如何让它发挥作用?
查看>>
oobbs开发手记
查看>>
OOM怎么办,教你生成dump文件以及查看(IT枫斗者)
查看>>
OOP
查看>>
OOP之单例模式
查看>>
OOP向AOP思想的延伸
查看>>
OO第一次blog
查看>>
OO第四次博客作业
查看>>
OO面向对象编程:第三单元总结
查看>>