【问题标题】:How are threads implemented in Windows 7?Windows 7 中的线程是如何实现的?
【发布时间】:2013-03-26 19:49:41
【问题描述】:

微软介绍,Window 7 改进了线程子系统,引入了 Hybrid(N:M 用户空间/内核空间线程映射)。

有人知道线程实现的细节吗?虽然有很多材料(显然是 Linux NPTL 实现的开源)和一些关于 Mac OS 线程实现的信息,但我找不到任何关于 Windows 7 线程实现细节的信息。

我特别感兴趣:

  • 同步原语实现(如 Linux 中的 futexes)
  • 线程队列策略
  • 线程数据结构
  • 线程本地存储实现
  • 内存分配和释放
  • ...我忘记提及的其他线程相关功能

如果您提供任何信息和/或链接,我们将不胜感激。

【问题讨论】:

  • 大概微软内部的某个人知道...
  • 你应该去寻找“windows internals”类型的网站,我相信有一些关于这个话题的圣经。由于它是一本印刷书籍,因此您可能需要等待包含此内容的版本。
  • 这听起来不像一个 SO 问题。更多超级用户,如果你问我
  • 你能提供他们介绍的参考吗?我对此一无所知,我怀疑他们会这样做。
  • @usr,Wikipedia 中有一句话(请看下面的混合实现和光纤实现章节)。由于那里没有提到来源,我不能说它是 100% 真实的,但我不记得我在哪里看到的,对此感到抱歉。

标签: multithreading windows-7 concurrency synchronization


【解决方案1】:

在 Windows 7 中没有什么大的改变,只是在“线程映射”(又名线程亲和性)方面做了微小的改进。调度程序提高了线程在特定核心上保持调度并且不会从一个核心跳转到另一个核心的几率。这有利于功耗、减少缓存抖动并支持 Intel Nehalem 和 AMD Phenom II,支持每核低功耗状态的架构。没有任何软件方面的考虑,反正我能想到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多