我想知道是否在 .Net 中创建托管线程(通过调用Thread.Start()
)导致在后台创建一个本机线程?
那么托管线程是否有对应的本机线程呢?
如果是,当托管线程等待或睡眠时,是否意味着相应的本机线程也在等待或睡眠?
是的,.NET 线程映射到所有当前 CLR 主机上的本机操作系统线程。
有一个选项可以通过以下方式将其映射到托管 api 中的其他内容ICLRTaskManager 接口 http://msdn.microsoft.com/en-us/library/ms164438.aspx,就像光纤一样,但实际上并没有在任何主流主机中实现。 SQL Server 团队在 .NET 2.0 时间范围内尝试过此操作,但由于无法使其足够可靠而放弃了该项目。这没有再尝试过。从技术上讲,您可能会遇到由非托管程序启动的自定义托管 CLR,它实现了此映射,但可能性相当低。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)