我是编程世界的新手。我喜欢学习java。在通过java线程面试问题时,我发现了这一点。我听说过线程,但不是这些绿色和原生的。 我对绿色和原生线程感到焦虑,但无法理解。
在哪种情况下,线程被称为绿色或原生?(我的意思是在编程中)
答案 0 :(得分:18)
绿色线程和本机线程有什么区别?
绿色线程由虚拟机调度。
本机线程由操作系统调度。
为什么命名为绿色和原生?
"绿色"是早期JVM线程项目的代号。它是库的名称,它在Java 1.1
中提供了VM-sheduled线程本机线程之所以这样称呼,是因为它们属于原生平台。
我们怎么知道创建的线程是本机的还是绿色的?
绿色线程已经过去,JVM仅适用于自1.3以来的本机线程
"绿线"指的是Java虚拟机所在的模型 本身创建,管理和上下文切换所有Java线程 一个操作系统进程。没有操作系统线程库 使用
"原生线程"指Java虚拟机创建的 并使用操作系统线程库管理Java线程 - 在UnixWare上命名为libthread - 每个Java线程都映射到一个 线程库线程。