
|----|---------------------------------------------------------------------------------------------------------|-----------------------------------|---------------------------------------------------------------------------------------------------------------------|
| | 多对一模型 | 一对一模型 | 多对多模型 |
| 定义 | 多个ULT映射到一个KLT | 每个ULT映射到一个KLT | n个ULT映射到m个KLT, n≥m |
| 优点 | * 线程管理在用户空间进行,效率高 | * 一个线程被阻塞,运行调度另一个线程运行,并发能力强 | * 克服了多对一模型的并发度不高的缺点 * 克服了一对一模型的一个用户进程占用太多内核线程而开销大的缺点 |
| 缺点 | * 如果一个线程阻塞,其他进程都会被阻塞 * 【用户级线程的"多"对操作系统透明,因此操作系统内核只能感知到一个调度单位的存在】 * 任何时刻,只有一个线程能访问内核 * 多个线程不能同时在多个处理机上运行 | * 每创建一个用户线程,就要创建一个对应的内核线程,开销大 | |