1. 程式人生 > >C#之非同步程式設計基礎--Task用法簡單總結

C#之非同步程式設計基礎--Task用法簡單總結

Task類

Task類可以有返回值,返回值可以有多個,對於返回值的操作,可以使用Task<TResult> 類。也可以沒有返回值,通常以非同步方式來呼叫。看下下面一個簡單的例子。

首先定義了一個Task物件,返回值為string。

有一個Start()方法,一旦要開啟一個任務,就要呼叫該方法,也可用Task的類工廠模式,則不需要呼叫此方法即可開啟任務(下面會講到)。Result是task的屬性,是該Task的返回值。

當然也可以沒有返回值。

下面的例子是呼叫類工廠模式來啟動Task,求1-100的和值,可以看到不用呼叫Start()方法即可以開啟。

對於沒有返回值的Task,可用Wait方法等待其執行完成,而且在等待的過程中,是會阻塞其主執行緒的,即主執行緒不會再往下執行,必須等該Task執行完畢才會繼續往下執行。Task的取消用的是Cancel方法。