C#ThreadPool與Thread

來源:互聯網
上載者:User

標籤:

  1. void Example()  
  2.   
  3. {  
  4.   
  5.     // 串連 ProcessFile 方法到線程池.  
  6.   
  7.     //注意: ‘a‘ 是一個作為參數的對象  
  8.   
  9.     ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessFile), a);  
  10.   
  11. }  
  12.   
  13. private void ProcessFile(object a)  
  14.   
  15. {  
  16.   
  17.     // 我被串連到線程池通過 WaitCallback.  
  18.   
  19. }  

先貼出這一段線程池調用的方式,Thread類使用比較簡單。

Thread thread = new Thread(faction);

thread.start();

因為經常用到線程這一塊,之前一直沒有考慮線程池這一塊的使用,在研究到.NET線程託管方式時候,覺得在可用的情況下,線程池會比Thread使用更安全。

MSDN表述:“線程池經常用在伺服器應用程式中,每一個新進來的需求被分配給一個線程池中的線程,這樣該需求能被非同步執行,沒有阻礙主線程或延遲後繼需求的處理。”

但是如果處理量大,或者無限迴圈的一些函數放入線程池使用的話,可能會導致線程池隊列無限等待的情況,所以就我當前理解線程池使用於短時性的一些處理。

像伺服器資料偵聽等,但是對於視頻採集這種高效即時性的處理還是使用Thread。

C#ThreadPool與Thread

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.