K 1*_*K 1 3 .net c# task cancellation-token
不明白这个CancellationToken参数是干什么用的?
通过CancellationToken或不通过并没有什么区别。
public async void test()
{
var cts = new CancellationTokenSource();
var tcs = new TaskCompletionSource();
tcs.SetCanceled(cts.Token);
try
{
await tcs.Task;
}
catch (TaskCanceledException e)
{
Console.WriteLine($"{e.Message}");
}
}
Run Code Online (Sandbox Code Playgroud)
正如ProgrammingLlama 所建议的,该参数设置观察任务结果时引发的异常的属性CancellationToken。因此捕获的异常test将将该属性设置为传入的取消标记。
我相信该CancellationToken属性是为了能够区分不同的取消来源;但是,由于链接的取消标记,此属性在一般情况下没有用处。
旁注:
async void。CancellationTokenSources。await而不是ContinueWith.| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |