内核线程和用户线程

内核线程是可调度的实体,这意味着系统调度程序可以处理内核线程。

这些系统调度程序已知的线程在执行上有很高的相关程度。 为了使可移植程序的编写更方便,库中提供了多个用户线程。

内核线程是一个内核实体,与进程和中断处理程序类似;它是由系统调度程序处理的实体。 虽然内核线程是在进程中运行的,但是系统中的任何其他线程都可以引用它。 除非编写内核扩展或设备驱动程序,负责程序员不能直接控制这些线程。 有关内核编程的更多信息,请参阅 内核扩展和设备支持编程概念

用户线程是供程序员处理程序中的多个控制流而使用的实体。 线程库提供了用于处理用户线程的 API。 用户线程仅存在于进程中; 进程 A 中的用户线程无法引用进程 B中的用户线程。 该库使用专有接口来处理用于执行用户线程的内核线程。 与内核线程接口不一样,用户线程 API 是与 POSIX 标准兼容的可移植编程模型的一部分。 因此,在AIX®系统上开发的多线程程序可以很容易地移植到其他系统上。

在其他系统中,用户线程就称为线程,而轻量级进程指的是内核线程。