C Task的使用 任務的結果

2022-09-17 03:21:14 字數 887 閱讀 2749

任務結束時,它可以把一些有用的狀態資訊寫到共享物件中。這個共享物件必須是執行緒安全的。另乙個選項是使用返回某個結果的任務。使用task類的泛型版本,就可以定義返回某個結果的任務的返回型別。

為了返回某個結果任務呼叫的方法可以宣告為帶任意返回型別。示例方法taskwithresult()利用乙個元組返回兩個int值。該方法的輸入可以是void或object型別,如下所示:

using system;

2:

using system.collections.generic;

3:

using system.linq;

4:

using system.text;

5:

using system.threading;

6:

using system.threading.tasks;

7:

namespace tasksamples

8:
19:
20:

static

void main(string args)

21:         ,", t1.result.item1, t1.result.item2);
27:             console.readkey();
28:         }
29:     }
30: }
該示例執行結果如下所示:

C Task的使用 連續的任務

通過任務,可以指定在任務完成之後,應開始執行之後另乙個特定任務。例如,乙個使用前乙個任務的結果的新任務,如果前乙個任務失敗了,這個任務就應執行一些清理工作。任務處理程式都不帶引數或者帶乙個物件引數,而任務的連續處理方法都有乙個task型別的引數,這裡可以訪問起始任務的相關資訊 如下面的示例 usin...

C Task的使用 Task的啟動

net 4.0包含的新命名空間system.threading.tasks,它包含的類抽象出了執行緒功能。任務表示應完成的某個單元的工作。這個單元的工作可以在單獨的執行緒中執行,也可以以同步的方式啟動乙個任務,這需要等待主調執行緒。使用任務不僅可以獲得乙個抽象層,還可以對底層執行緒進行許多控制。啟動...

celery的task任務結果在redis儲存亂碼

用redis做backend儲存celery非同步任務的結果,可以看到任務成功存進去了,127.0.0.1 6379 1 keys celery task meta 31a89019 4106 4685 8a71 0075d976d91e不過用這個key去查詢的時候可以看到結果亂碼 127.0.0....