C# 当我们创建并启动一个新的.NET线程时,它会创建一个新的OS级线程吗?

C# 当我们创建并启动一个新的.NET线程时,它会创建一个新的OS级线程吗?,c#,.net,multithreading,C#,.net,Multithreading,以这种方式创建新线程时: Threading.Thread t = new Threading.Thread(() => { Console.WriteLine("My New thread"); }); t.Start(); 它还将创建操作系统级线程吗?技术上这是未定义的,自定义CLR主机可以使用任何构造来实现线程。底层托管接口是。也没有一个像样的方法去发现 实际上,这种情况从未发生过。IClrTask是应SQL Server组的请求添加的,该组希望选择将线程映射到光纤上。那个项目最终

以这种方式创建新线程时:

Threading.Thread t = new Threading.Thread(() => { Console.WriteLine("My New thread"); });
t.Start();

它还将创建操作系统级线程吗?

技术上这是未定义的,自定义CLR主机可以使用任何构造来实现线程。底层托管接口是。也没有一个像样的方法去发现


实际上,这种情况从未发生过。IClrTask是应SQL Server组的请求添加的,该组希望选择将线程映射到光纤上。那个项目最终失败了,他们无法使它足够稳定。对任何可能有类似计划的人来说都是一个危险信号。除非您充当类似SQL Server的大型非托管程序的插件,否则您始终可以假定您将使用一个操作系统线程。

嗯,我不确定这是否应称为非托管线程。但是的,操作系统级线程可能只能称为非托管线程。