C 什麼時候使用執行緒池ThreadPool

2021-09-26 21:25:30 字數 477 閱讀 6911

在c#中使用執行緒池的原因與任何其他語言相同。

1.當你想限制正在執行的執行緒數量或不想建立和銷毀它們的開銷時,請使用執行緒池。

通過小型任務,你閱讀的書意味著使用壽命短的任務。

如果建立乙個只執行一秒的執行緒需要十秒鐘的時間,

那就是你應該使用池的乙個地方(忽略我的實際數字,這是計數的比率)。

否則,你花大量的時間來建立和銷毀執行緒,而不是簡單地做他們打算做的工作。

2.執行緒池是為突然大量爆發的執行緒設計的,通過有限的幾個固定執行緒為大量的操作服務,

減少了建立和銷毀執行緒所需的時間,從而提高效率。

如果乙個執行緒的時間非常長,就沒必要用執行緒池了(不是不能作長時間操作,而是不宜。),

況且我們還不能控制線程池中線程的開始、掛起、和中止。

【用法】

public static void main()

static void threadproc(object stateinfo)

什麼時候手動建立執行緒而不使用執行緒池

1 需要自定義執行緒的優先順序,執行緒池中線程總是normal 2 需要乙個前台執行緒,執行緒池中線程是後台執行緒 非ui執行緒最好使用執行緒池建立為後台執行緒,常常關閉乙個軟體之後,仍然占有記憶體,就是由於建立了多個前台執行緒,程式關閉的時候,還有其他前台執行緒沒有關閉。3 需要手動終止執行緒,執...

什麼時候手動建立執行緒而不使用執行緒池

1 需要自定義執行緒的優先順序,執行緒池中線程總是normal 2 需要乙個前台執行緒,執行緒池中線程是後台執行緒 非ui執行緒最好使用執行緒池建立為後台執行緒,常常關閉乙個軟體之後,仍然占有記憶體,就是由於建立了多個前台執行緒,程式關閉的時候,還有其他前台執行緒沒有關閉。3 需要手動終止執行緒,執...

什麼時候使用多執行緒

使用多執行緒為什麼可以提高效率呢?io是關鍵。很多的應用要使用io,但是cpu是很快的,io往往是很慢的。看 main1.c include include include include include include char p void sys error int errnum void f...