前台執行緒和後台執行緒的選擇

2022-02-07 05:04:29 字數 544 閱讀 5907

什麼時候用thread ,, 什麼時候用 threadpool.. 

當符合以下條件時就用thread物件,否則還是用執行緒池較好。

(執行緒的優先順序..前台執行緒要高於後台執行緒.即使改變了後台執行緒的優先順序..也不會持久)

2.你需要執行緒作為前台執行緒運轉,從而防止程式終止一直到執行緒完成任務。執行緒池執行緒總是後台執行緒,如果clr決定終止程序它們就不會完成任務。

(在公共語言執行庫因為資源**或者報錯要結束該後台程序的時候,是直接kill的..是不會提示的,很有可能你的任務並沒有完成掉)

3.受計算限制的任務需要時間非常長;這樣,我不會讓執行緒池負擔邏輯,因為它試圖找出是否需要建立乙個額外的執行緒。

(業務邏輯中需要建立的執行緒一般都使用前台執行緒,方便控制和追蹤)

4.我想開始執行緒並很可能用thread.abort方法來過早的結束它。

(需要自由控制,不用時會在控制下乾掉他.)發松島楓

**自:   ^_^肥仔john

前台執行緒和後台執行緒

net的公用語言執行時 common language runtime,clr 能區分兩種不同型別的執行緒 前台執行緒和後台執行緒。這兩者的區別就是 應用程式必須執行完所有的前台執行緒才可以退出 而對於後台執行緒,應用程式則可以不考慮其是否已經執行完畢而直接退出,所有的後台執行緒在應用程式退出時都會...

c 前台執行緒和後台執行緒

前台執行緒 在主線程執行結束後,若前台執行緒沒有執行完則會阻止主線程的關閉 後台執行緒 在主線程執行結束後,整個執行緒會結束 class threadsample public void countnumbers prints thread.currentthread.name,i static v...

(二)前台執行緒和後台執行緒

1.獲取執行緒狀態 2.終止執行緒 執行緒池執行的都是後台執行緒 執行緒池只能用於時間比較短的任務 static void main string args static void main string args 任務的層次結構 父任務等待子任務執行完成才完成 模擬線程爭用 using syste...