java - Java 线程到 Linux 线程 (LWP) 的一对一映射

标签 java linux multithreading

Java Thread 对象和操作系统线程(轻量级进程)之间是否存在一对一的映射。也就是说,如果我有一个 Thread 对象,我是否可以始终准确地识别一个关联的操作系统线程,并且我是否始终拥有相同的关联操作系统线程?一般来说,这取决于操作系统和 JVM,因此我将问题限制在带有 Oracle 和 Open JDK JVM 的 Linux 上。

sleep 线程或等待线程的情况怎么样?尚未开始运行的线程和已完成运行的线程的极端情况是什么?

最佳答案

Is there a one to one mapping between Java Thread objects and OS threads (

是的,从 Java 1.2 开始就有了。

在 Java 1.2 之前,使用了一种“绿色线程”模型,该模型将多个 Java 线程映射到一个操作系统线程。

关于java - Java 线程到 Linux 线程 (LWP) 的一对一映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125101/

相关文章:

java - Method.invoke 抛出 java.lang.IllegalArgumentException : wrong number of arguments

java - 无法将 Map<Long, String> 传递给带有参数 Map< 的构造函数?扩展对象,?扩展对象>。为什么?

linux cat 文件,不包括以特定前缀开头的文件

linux - 关于 grep 用法和中缀运算符

linux - 我需要的所有依赖项

multithreading - D 中数组的线程安全性?

java - 当线程通过另一个类调用同步方法时会发生什么?

java - 收到类型错误的非法启动

java - JavaFX WebView 中的 Youtube

multithreading - 类似于线程安全映射的对仅在一个线程上存在的值的访问