windows - 用户级线程内核级线程和纤程

标签 windows multithreading kernel

我知道纤程在线程的上下文中运行。它们只是用户级别的。

我知道线程可以是用户级或内核级。

当您在用户级应用程序中创建线程时,它也是用户级的吗?

您能否在您的用户应用程序中创建内核级线程?

这些用户级线程也是内核调度的?

当您在 .NET 中调用 CreateThread 时,内核如何发挥作用? CreateThread 函数是否需要通过 susbsystem dll 到执行层,一直到内核才能创建用户级线程?

最佳答案

在Windows平台上,用户态进程(应用程序)中的线程是用户态线程,内核态进程中的线程是内核态线程。您不能在用户模式进程中创建内核模式线程。在 Windows 上,所有线程都由内核直接或间接(通过它如何配置 CPU 中断)进行调度。

.Net CreateThread 最终使用了从 Kernel32.dll 导出的 CreateThread API。

关于windows - 用户级线程内核级线程和纤程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354351/

相关文章:

windows - 将命令的结果保存在变量中,Windows 批处理

objective-c - NSMutableString 线程安全?

linux - 旧版 Linux 内核不可抢占的原因是什么?

c - DMA 传输到 Linux 中的从属 PCI 设备

android - 在代理上运行 Genymotion/MEmu

C - 构建/编译/部署成功但在其他机器上失败

multithreading - 使用 QThreadPool 时如何执行 QObject::moveToThread()?

assembly - Kernel.c 没有执行完整的代码 [OS from scratch]

c - 使用 libcurl 和 SSL 进行对等验证

java - 如何暂停 main()