C# 后台线程的优先级是否低于前台线程?

C# 后台线程的优先级是否低于前台线程?,c#,.net,multithreading,C#,.net,Multithreading,后台线程运行的优先级是否低于前台线程,即使它们的线程.priority设置为相同的值 考虑下面的代码:- Thread threadFG = new Thread(MyMethod);//foreground thread Thread threadBG = new Thread(MyMethod);//background thread threadBG.IsBackground = true; 性能会有差异吗?请注意,我对这两个线程都使用默认优先级 包括MSDN在内的许多web文章都说后

后台线程运行的优先级是否低于前台线程,即使它们的
线程.priority
设置为相同的值

考虑下面的代码:-

Thread threadFG = new Thread(MyMethod);//foreground thread

Thread threadBG = new Thread(MyMethod);//background thread
threadBG.IsBackground = true;
性能会有差异吗?请注意,我对这两个线程都使用默认优先级

包括MSDN在内的许多web文章都说后台线程会在应用程序退出时自动销毁,而前台线程则不是这样。关于StackOverflow的许多问题都是这样说的。但我并没有找到一个资源来讨论两者之间的性能差异

仅仅因为后台线程,那个线程会比前台线程运行得慢吗

后台线程运行的优先级是否低于前台线程,即使它们的
线程.priority
设置为相同的值

否。除非明确指定,否则所有线程都以默认优先级开始,例如

性能会有差异吗

自己测量,使用秒表或类似机构测量性能。线程的执行性能取决于许多因素,包括主机的组件(CPU体系结构、内核数量等)

仅仅因为后台线程,那个线程会比前台线程运行得慢吗


不。正如@Damien_The_unsiever的解释:前台或后台与性能无关。

:“后台线程与前台线程相同,但有一个例外:后台线程不能保持托管执行环境的运行”(我的重点)您可以通过启动两个线程并检查属性来确认@Damien_异教徒所说的话