首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后台线程是否运行在比前台线程低的优先级上?

问后台线程是否运行在比前台线程低的优先级上?
EN

Stack Overflow用户
提问于 2016-11-11 11:15:29
回答 1查看 1.5K关注 0票数 1

背景线程是否运行在低于前台线程的优先级上,即使它们的Thread.Priority设置为相同的值?

请考虑以下代码:-

代码语言:javascript
复制
Thread threadFG = new Thread(MyMethod);//foreground thread

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

在表现上会有不同吗?请注意,对于这两个线程,我都使用了默认优先级。

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-11 11:32:31

背景线程是否运行在低于前台线程的优先级上,即使它们的Thread.Priority设置为相同的值?

不是的。除非显式分配,否则所有线程都以默认优先级开始,例如Normal

在表现上会有不同吗?

自己测量,使用秒表或类似的机制来测量性能。线程的执行性能依赖于许多方面,包括主机的组件(CPU架构、核数等)。

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

不是的。正如@Damien_The_Unbeliever的MSDN链路所解释的:前景或背景与性能无关。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40546813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档