【发布时间】:2023-03-09 15:54:01
【问题描述】:
后台线程是否以低于前台线程的优先级运行,即使它们的Thread.Priority 设置为相同的值?
考虑下面的代码:-
Thread threadFG = new Thread(MyMethod);//foreground thread
Thread threadBG = new Thread(MyMethod);//background thread
threadBG.IsBackground = true;
性能会有差异吗?请注意,我对两个线程都使用了默认优先级。
包括 MSDN 在内的很多网络文章都说后台线程会在应用程序退出时自动销毁,而前台线程不是这种情况。 StackOverflow 上的很多问题都这么说。但我没有找到谈论两者之间性能差异的资源。
仅仅因为后台线程,那个线程会比前台线程运行得慢吗?
【问题讨论】:
-
Foreground and Background threads:“后台线程与前台线程相同,但有一个例外:后台线程不会保持托管执行环境运行”(我的强调)
-
您可以通过启动两个线程并检查Thread.Priority 属性来确认@Damien_The_Unbeliever 所说的内容
标签: c# .net multithreading