[英]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.