CLR via C# 讀書筆記 1-1 何時使用線程或者線程池

來源:互聯網
上載者:User

一般來說在儘可能的情況下使用線程池

除了以下的4個情況

  1. 需要手動控制線程運行在非預設的優先順序上(不推薦)
  2. 需要表現為前台線程
  3. 需要長時間的運行一個任務
  4. 想要手動控制一個線程的生命週期(例如Abort)

-------------------------------

其實我覺得還有兩個重要的方面

線程池是全域共用的,也就是說一個程式往線程池裡面塞入一些任務 ,那麼必然會影響到其他人

極端的情況,就是你佔用了所有的線程池中的對象,而其他程式就無法正常運行了(包括.net本身的一些線程)

那麼關鍵就是

  不要長時間或者大量佔用線程池,除非能夠確定當前程式是這個伺服器上最重要的程式

  在較大壓力的伺服器上,或者你預期程式會消耗大量的資源,最好自己實現一個可控制的線程池(例如CodeProject上面的一些開源實現),這樣你可以更好的控制和調度系統資源的使用.

     

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.