首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内核支持的线程是否在内核状态下运行?

内核支持的线程是否在内核状态下运行?
EN

Stack Overflow用户
提问于 2019-10-14 01:16:38
回答 1查看 70关注 0票数 2

我对内核空间,用户空间,内核线程,用户线程有点困惑。你是否可以认为内核支持内核线程是在内核空间中运行的?

Java,

代码语言:javascript
复制
`Thread t = new Thread(new Runnable...)`,

这个名为“t”的线程在Linux中称为轻量级进程(内核线程)。它是否在内核状态下运行?

EN

回答 1

Stack Overflow用户

发布于 2019-10-15 13:10:59

需要澄清一些基本的操作系统概念:

  • 内核线程是一个由操作系统内核直接管理和调度的线程实体。用户级程序可以通过系统调用访问内核线程,例如通过pthread API。如果用户程序将其代码执行与内核线程绑定,则映射到内核线程的是用户线程。
  • 轻量级进程不是一个定义良好的术语,但它通常指的是暴露在用户空间中的内核线程,而不是比线程更重的正常进程。在这个意义上,你可以认为内核线程和轻量级进程是一样的。
  • Java线程是一个用户线程实体,通常由一个内核线程支持(或者你也可以称之为轻量级进程)。这意味着,Java线程的执行可以由操作系统内核直接调度。

因此,Java线程映射到内核线程是正确的,但是Java线程不在内核空间中运行。它是由操作系统内核直接调度的,在内核空间中肯定有内核线程数据。有时用户线程可能会在内核空间运行,当它调用系统调用时...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58365954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档