繁体   English   中英

C#ThreadPriority.BelowNormal如何影响性能?

[英]C# How does ThreadPriority.BelowNormal affect performance?

我正在写一个网络爬虫。 目前,它一次抓取30个网站(每个线程),每个网站有2个线程。 因此,总共创建了60个线程。 我遇到了一些GUI锁定的问题。 所以我加了

System.Windows.Threading.DispatcherPriority = Render到我的GUI线程,但这似乎使GUI线程在运行性能分析时占用50%的CPU。 因此,我删除了该内容,现在将爬网线程的优先级更改为

Thread.CurrentThread.Priority = ThreadPriority.BelowNormal;

这似乎运作良好。

我试图找出在不锁定GUI的情况下运行这些线程的最快方法,所以我的问题是这个。

如果没有GUI处理要完成,这些线程将以与没有设置ThreadPriority.BelowNormal速度相同的速度运行吗? 我假设ThreadPriority.BelowNormal不会不断使线程运行缓慢,它只是赋予GUI线程(其他任何具有正常优先级的线程)优先级?

这只是意味着其他线程具有优先权。 只要UI没做任何大的事情,后台线程就可以高效地运行。 https://msdn.microsoft.com/zh-cn/library/system.threading.threadpriority(v=vs.110).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM