用户态/内核态和线程模型

2019-01-15 23:46:29 +08:00
 thomaswang
如果线程调用系统资源就会切换到内核态, 这个内核态和线程模型(n:1 1:1 n:m)中的内核线程都是啥关系
3803 次点击
所在节点    程序员
22 条回复
GeruzoniAnsasu
2019-01-22 15:46:55 +08:00
然后,线程的确还分为只在内核中执行的线程以及包含了用户空间代码的线程,你可能是混淆了这两种内核线程 /用户线程?

就 linux 来说,它的内核可以看做是单线程的,所以所谓的“内核线程”更像是内核中的协程,毕竟没有更上层的结构去切换上下文,必须自行实现多路复用。内核线程是无法中断的,一旦某个内核线程中有死循环,那么整个内核+用户空间的所有线程都会挂掉。这与多对多的线程模型没有关系,是另一个层面的东西
ruandao
2019-11-11 17:15:01 +08:00
多核 cpu 中,一个进程陷入 内核态的时候, 这个进程的所有线程都被切换掉了吗? 还是只是 进行系统调用的那个线程进入内核态

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/527409

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX