在单线程应用程序中,是否只有一个线程是内核线程?

鼻咽癌

从维基百科说:

内核线程是内核调度的“最轻”的单元。每个进程中至少存在一个内核线程。

我了解到,进程是一个容纳内存空间,文件句柄,设备句柄,系统资源等的容器,而线程是内核真正调度的线程。

因此,在单线程应用程序中,一个线程(我相信主线程)是内核线程吗?

DomCote

我假设您正在谈论这篇文章:http : //en.wikipedia.org/wiki/Kernel_thread

根据该文章,在单线程应用程序中,由于定义上只有一个线程,因此它必须是内核线程,否则它将不会被调度,也将无法运行。

如果您的应用程序中有多个线程,那么这将取决于如何实现用户模式多线程(内核线程,光纤等)。

重要的是要注意,但是在执行应用程序代码时,除非它是系统调用,否则它将是在用户模式下运行的内核线程在用户模式下运行时,任何试图执行受保护指令的尝试都将导致错误,最终将导致进程终止。

因此,这里的内核线程不要与超级用户/特权模式和内核代码相混淆。

您可以执行内核代码,但必须首先通过系统调用门。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使 Spring 应用程序成为单线程或具有一个实例?

volatile在C ++中的单线程应用程序中是否有用?

调试时,单线程应用程序是否会在内核之间跳转?

单线程CPU上的多线程应用程序?

从单线程应用程序调用pthread_self()

在单线程应用程序中使用StringBuffer

IIS和单线程应用程序

异步对单线程应用程序的好处

在此多线程Java应用程序中,似乎只有一个线程像顺序程序一样在运行?

单线程程序是否在CPU中并行执行?

具有Boost和CMake的单线程应用程序

具有单线程应用程序阻止,直到发生特定事件,然后继续

是否所有单线程软件都在主内核/线程上运行?

怎么可能“ while(i == i)”;是单线程应用程序中的非无限循环?

单线程应用程序中的实体框架数据库连接

单线程Java应用程序可启动70多个线程

多线程程序比单线程慢

为什么我会放置一个synchronized块单线程方法中?

跳到单线程 ExecutorSerivce 中的下一个任务?

可以使单线程程序使用多个内核吗?

Java:另一个多线程执行器中的单线程子执行器

在2个内核上执行单线程进程

单线程进程仅包含一个线程吗?

在C ++(VC ++ 2010 Express)上,双线程应用程序比单线程应用程序慢。怎么解决?

单线程Qaud内核与超线程双内核

HT打开时,单线程的CPU速度只有一半吗?

单线程程序占用的CPU是否太低?

同步方法在单线程应用程序中会变慢吗?

整体热量更少?运行单线程应用程序的双核与四核CPU