后台线程是否以低于前台线程的优先级运行

本文关键字:线程 前台 优先级 运行 是否 于前台 后台 | 更新日期: 2023-09-27 18:17:22

后台线程运行的优先级低于前台线程,即使他们的Thread.Priority设置为相同的值?

考虑下面的代码:-

Thread threadFG = new Thread(MyMethod);//foreground thread
Thread threadBG = new Thread(MyMethod);//background thread
threadBG.IsBackground = true;

性能会有不同吗?请注意,我对两个线程都使用默认优先级。

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

仅仅因为后台线程,该线程运行速度会比前台线程慢吗?

后台线程是否以低于前台线程的优先级运行

后台线程运行的优先级比前台线程低,即使他们的Thread.Priority设置为相同的值?

。除非显式指定,否则所有线程都以默认优先级启动,例如Normal

性能会有不同吗?

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

仅仅因为后台线程,该线程运行速度会比前台线程慢吗?

。正如@Damien_The_Unbeliever的MSDN链接所解释的那样:前景或背景与性能无关。