簡體   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