Multithreading 操作系统中线程与编程语言中线程之间的差异

Multithreading 操作系统中线程与编程语言中线程之间的差异,multithreading,operating-system,java-threads,Multithreading,Operating System,Java Threads,我正在学习用户级线程和内核级线程。我想知道这些操作系统线程和程序员使用JAVA、Python等编程语言编写的线程之间的映射是什么。这些是如何映射/关联的。我对这个话题还不熟悉,如果它很傻的话,我很抱歉 用户级线程在上下文切换方面更快,因为它们通常位于同一操作系统进程中(或者可能是线程)。类似于高级语言中的用户级线程使内核级线程模型更简单,并且它们在内核级需要非常少的线程支持。它们速度更快,性能更好 内核级线程由于上下文切换开销而代价高昂。线程之间的同步和共享资源仍然比多进程模型便宜,但比用户级线

我正在学习用户级线程和内核级线程。我想知道这些操作系统线程和程序员使用JAVA、Python等编程语言编写的线程之间的映射是什么。这些是如何映射/关联的。我对这个话题还不熟悉,如果它很傻的话,我很抱歉

用户级线程在上下文切换方面更快,因为它们通常位于同一操作系统进程中(或者可能是线程)。类似于高级语言中的用户级线程使内核级线程模型更简单,并且它们在内核级需要非常少的线程支持。它们速度更快,性能更好

内核级线程由于上下文切换开销而代价高昂。线程之间的同步和共享资源仍然比多进程模型便宜,但比用户级线程更昂贵


在现代,通常会使用混合线程,目的是从用户级和系统级线程中获得收益

用户级线程在上下文切换方面更快,因为它们通常位于同一操作系统进程中(或者可能是线程)。类似于高级语言中的用户级线程使内核级线程模型更简单,并且它们在内核级需要非常少的线程支持。它们速度更快,性能更好

内核级线程由于上下文切换开销而代价高昂。线程之间的同步和共享资源仍然比多进程模型便宜,但比用户级线程更昂贵


在现代,通常会使用混合线程,目的是从用户级和系统级线程中获得收益

java创建的线程将在
JVM
中运行,
JVM
将在OS或CPUjava创建的线程将在
JVM
中运行,
JVM
将在OS或CPU中运行