CLR线程模型信息
本文关键字:信息 模型 线程 CLR | 更新日期: 2023-09-27 18:04:52
我想知道System.Threading.Thread
如何在CLR中工作。我猜CLR中的线程是"轻量级的",这意味着它们是多对一映射到内核线程的……但是谁来调度这些线程呢?当我创建一个线程时,它是否总是创建一个相应的"内核"线程,除非线程的数量大于物理内核的数量?它是否尝试在可用的内核上调度这些线程?
您可以检查SSCLI。它是CLR 2.0在c++中公开可用的源代码,又名ROTOR项目。这是唯一能揭示真相的地方。
UPD:如果有人感兴趣,在评论中有线索可以在转子中找到实际的东西;)
MSDN:
操作系统的ThreadId与托管线程没有固定的关系,因为非托管主机可以控制托管和非托管线程之间的关系。具体来说,一个复杂的主机可以使用Fiber API来针对同一个操作系统线程调度许多托管线程,或者在不同的操作系统线程之间移动托管线程。
没有"最终答案/文档"…