Java 中的绿色线程和本机线程

2022-09-02 03:49:46
  • 绿色线程和原生线程之间有什么区别?
  • 为什么它被命名为绿色和本地?

我是编程世界的新手。我喜欢学习java。在浏览java线程面试问题时,我发现了这一点。我听说过线程,但不是这些绿色和本地的。我盯着绿色和原生线,但无法清楚地知道。

在这种情况下,线程被称为绿色或本地?(我的意思是在编程中)


答案 1

绿色线程和原生线程之间有什么区别?

绿色线程由虚拟机调度。

本机线程由操作系统调度。

为什么它被命名为绿色和本地?

“绿色”是早期的JVM线程项目代码名称。它是库的名称,它在Java 1.1中提供了VM-sheduled线程

之所以这样称呼本机线程,是因为它们属于本机平台。

我们怎么知道创建的线程是原生的还是绿色的?

绿色线程是过去的,JVM 从 1.3 开始只适用于本机线程

“绿色线程”是指 Java 虚拟机本身在一个操作系统进程中创建、管理和上下文切换所有 Java 线程的模型。不使用操作系统线程库。

“本机线程”是指 Java 虚拟机使用操作系统线程库(在 UnixWare 上命名为 libthread)创建和管理 Java 线程,并且每个 Java 线程映射到一个线程库线程。


答案 2