根据操作系统内核是否对线程可感知,可以把线程分为内核线程和用户线程。
名称 |
描述 |
用户级线程 |
由应用程序所支持的线程实现, 内核意识不到用户级线程的实现 |
内核级线程 |
内核级线程又称为内核支持的线程 |
在只有用户级线程的系统内,CPU调度还是以进程为单位,处于运行状态的进程中的多个线程,由用户程序控制线程的轮换运行;在有内核支持线程的系统内,CPU调度则以线程为单位,由操作系统的线程调度程序负责线程的调度。
对于多用户级线程:
多用户线程在多处理器系统中不可以比在单处理器系统中获得更好的性能。
操作系统是不能感知用户级线程的,因此无法使用多个CPU执行多个用户级线程——能够在CPU上执行的实体必须是内核级线程。 用户级线程的运行必须有内核级线程作为载体。所以多用户线程在多处理器系统中不可以比在单处理器系统中获得更好的性能。