标签: c multithreading
假设具有OS的多处理器体系结构可能支持或不支持内核级线程
纠正我出错的地方:
答案 0 :(得分:1)
你的前三个假设是正确的。
推论1取决于OS调度程序。调度可以仅基于线程,而不是进程,因此没有固有的保证,具有不同线程数的进程获得相同的总时间。
许多用户空间调度程序采用混合路由并将m用户空间线程调度到n操作系统线程(使用m >> n),从而避免了OS线程创建的一些开销。如果不借助OS机制来引导它,就没有办法神奇地实现并发。
m
n
m >> n