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

pip*_*ms2 4 c java multithreading operating-system semaphore

这里的线程和操作系统构造非常新,

想知道是否有人可以帮我解决一些问题。

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

而在Java中创建和运行线程时,这些是用户级线程吗?我们对 Java 中操作系统级别的构造有什么级别的访问权限?Java中的信号量只是在用户空间设置吗?

预先感谢您对这些问题的任何见解。

use*_*751 6

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

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