Java 个线程和 POSIX 个线程,用户级别还是内核级别?

Java threads and POSIX threads, User or kernel level?

对线程和 OS 在这里构造非常陌生,

想知道是否有人可以为我解决问题。

在 C 中实现线程时,您可以访问 POSIX 线程,POSIX 线程是 OS 级线程吗? 运行 在内核级别?

并且在 Java 创建和 运行 线程时,这些是用户级线程吗?我们对 java 中的 OS 级构造有什么级别的访问权限? Java 中的信号量是否只是在用户 space 中设置?

提前感谢您对这些问题的任何见解。

POSIX线程是内核线程。内核线程是 "normal" 个线程;你会知道你是否在 C 中使用用户线程(因为你必须自己编写整个线程系统)。

Java 线程通常也是内核线程。在类 Unix 系统上,它们可能使用 POSIX 个线程;在 Windows 上,他们使用 Windows 个线程。可以想象,没有线程的系统有一个JVM,它自己实现了线程(作为用户线程)。