C# 多線程五之Task(任務)

1、簡介

爲什麼MS要推出Task,而不推Thread和ThreadPool,以下是我的見解:

(1)、Thread的Api並不靠譜,甚至MS自己都不推薦,原因,它將整個Thread類都不開放給Windows Sotre程序,且它的Api過於強大,如果在程序中過度使用,維護的成本太高,想想代碼中充斥着掛起線程,阻塞線程、後期的應用程序很難維護.

(2)、ThreadPool最大的問題是,所有的輔助線程都是異步的,沒有向Thread的Join方法那樣去等待一個線程執行完,然後執行回調函數的機制,也就是你無法判斷線程什麼時候執行完,也沒有機制獲得線程的返回值,所有MS推出了Task來解決Thread和ThreadPool的問題

當然最主要的是,Thread和Thread好用.因爲Task是它們的升級版,升級版當然比較好.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章