繁体   English   中英

每个托管线程是否都有其自己的对应本机线程?

[英]Does each managed thread have its own corresponding native thread?

我想知道是否在.Net中创建托管线程(通过调用Thread.Start() )是否导致在后台创建了一个本机线程? 那么托管线程是否有相应的本机线程? 如果是,则托管线程在等待或休眠时,是否意味着相应的本机线程也在等待或休眠?

是的,.NET线程映射到所有当前CLR主机上的本机操作系统线程。

有一个选项可以通过ICLRTaskManager接口将其映射到托管api中的其他对象(例如光纤),但实际上并没有在任何主流主机中实现。 SQL Server团队在.NET 2.0时限尝试了此操作,但是当他们无法使其足够可靠时,该项目被放弃了。 不再尝试。 从技术上讲,您可能会遇到由非托管程序启动的自定义托管CLR,该CLR实现了此映射,但是几率很低。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM