20
  • 绿色线程和原生线程有什么区别?
  • 为什么它被命名为绿色和原生?

我是编程世界的新手。我喜欢学习java。在通过java线程面试问题时,我发现了这一点。我听说过线程,但不是这些绿色和原生的。我对绿色和本机线程进行了研究,但无法获得明确的想法。

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

4

1 回答 1

29

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

绿色线程由虚拟机调度。

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

为什么它被命名为绿色和原生?

“Green”是较早的 JVM 线程项目代号。它是库的名称,它在Java 1.1中提供了 VM 调度线程

原生线程之所以这样称呼是因为它们属于原生平台。

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

绿色线程已成为过去,JVM 自 1.3 起仅适用于本机线程

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

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

于 2013-03-07T09:46:30.090 回答