我想知道在.Net中创建托管线程(通过调用Thread.Start()
)是否会导致在后台创建一个本机线程?那么,托管线程是否有相应的本机线程?如果是,当托管线程等待或休眠时,是否意味着相应的本机线程也在等待或休眠?
发布于 2013-10-20 11:15:15
是的,.NET线程映射到当前所有CLR主机上的本机操作系统线程。
有一个选项可以通过ICLRTaskManager接口将其映射到托管api中的其他东西,比如光纤,但这并不是在任何主流主机中实现的。Server团队在.NET 2.0时间框架内试图这样做,但当他们无法使其足够可靠时,该项目就被放弃了。这件事没有再试过。从技术上讲,您可能会遇到一个由非托管程序启动的自定义托管CLR,它实现了此映射,但几率相当低。
https://stackoverflow.com/questions/19476595
复制相似问题