【发布时间】:2014-08-19 20:15:19
【问题描述】:
假设一个多处理器架构的操作系统可能支持也可能不支持内核级线程
纠正我哪里出错了:
- 如果线程库完全在用户空间实现,那么线程的管理在用户空间完成(创建、线程表、堆栈信息等)。
- 因此,即使一个进程可能有多个用户线程,内核也只能看到 1 个单内核线程进程。
- 因此,内核调度将CPU使用时间分配给整个进程;用户空间线程库负责在其用户线程中对该 CPU 时间进行时间切片。
- (推论 1) 具有 20 个用户线程的进程 A 将获得与具有 1 个用户线程的进程 B 相同的优先级,因此进程 A 中的线程获得大约 1/20 的 CPU 时间作为线程在进程B中
- (推论 2)同一进程中的用户线程永远不会是超线程(即 2 个线程同时在不同的 CPU 上执行)
【问题讨论】:
-
投反对票的原因?
标签: c multithreading