1.status 当前状态类属性(较多)
2. CurrentId:当前正在执行的任务id。(int)
3. IsCompleted:当前任务是否已经完成。(bool)
4. IsCanceled:任务是否由于被取消而完成。(bool)
5. ID:当前Task实例的Id。(int)
6. TaskCreationOptions 当前任务的优先级有以下七种:
1.Wait(task) 等待当前task执行结束后执行。
代码演示:
- Task tt = Task.Run(() =>
- {
- for (int i = 0; i < 300; i++)
- {
- Console.Write(1);
- }
- });
- tt.Wait();
- for (int i = 0; i < 300; i++)
- {
- Console.Write(2);
- }
- Console.ReadKey();
当代码中无tt.wait()时候,运行结果为1和2交替出现,反之会在tt任务运行完后,也就是输出1完成后再输出2。
2.WaitAll() 等待所有任务执行完成 。
3.WaitAny() 等待任意一个任务执行完成就执行。
4.ContinueWith() 第一个Task结束后自动执行下一个。
代码演示:
- Task<int> tt = Task<int>.Run(() =>
- {
- for (int i = 0; i < 300; i++)
- {
- Console.Write(1);
-
- }
- return 10;
- });
- tt.ContinueWith(T1 =>
- {
- for (int i = 0; i < 300; i++)
- {
- Console.Write(2);
- }
- Console.WriteLine("tt的结果为:"+T1.Result);
- });
运行结果为:
ContinueWith的用法是在一个任务执行完成之后执行的代码,需要注意的是T1为前一个任务返回的结果。
5.CancellationTokenSource 取消一个任务。