专栏名称: 脚本之家
脚本之家(jb51.net)是国内专业的网站建设资源、脚本编程学习类网站,以后将为大家分享更多有用的信息,希望大家多多支持宣传。
今天看啥  ›  专栏  ›  脚本之家

IO 阻塞期间,为什么线程状态显示 RUNNABLE?

脚本之家  · 公众号  ·  · 2025-05-05 17:00
    

文章预览

  脚本之家  设为“ 星标 ⭐ ” 第一时间收到文章更新 原创:Java极客技术(微信公众号ID:Javageektech) 使用 Java 阻塞 I/O 模型读取数据,将会导致线程阻塞,线程将会进入休眠,从而让出 CPU 的执行权,直到数据读取完成。这个期间如果使用 jstack 查看线程状态,却可以发现Java 线程状态是处于 RUNNABLE,这就和上面说的存在矛盾,为什么会这样? 上面的矛盾其实是混淆了操作系统线程状态与 Java 线程状态。这里说的线程阻塞进入休眠状态,其实是操作系统层面线程实际状态。而我们使用 jstack 查看的线程状态却是 JVM 中的线程状态。 线程是操作系统中一种概念,Java 对其进行了封装,Java 线程本质上就是操作系统的中线程,其状态与操作系统的状态大致相同,但还是存在一些区别。 下面首先来看我们熟悉的 Java 线程状态。 一、Java 线程状态 Java 线程 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览