gpt4 book ai didi

c# - Task.Wait 方法 (CancellationToken)

转载 作者:太空狗 更新时间:2023-10-29 20:52:58 32 4
gpt4 key购买 nike

有人可以向我解释 Task.Wait(CancellationToken) 重载的用法吗? MSDN 确实对此说了很多...

这是我通常处理任务取消的方式:

        var source = new CancellationTokenSource();
var task = Task.Factory.StartNew(() =>
{
while (true)
{
source.Token.ThrowIfCancellationRequested();
}
}, source.Token);

try
{
task.Wait();
}
catch (AggregateException exc)
{
exc.Flatten().Handle(e => e is OperationCanceledException);
}

那么什么时候将 token 传递给 Wait 方法有用呢?

最佳答案

考虑这样一种情况,您想要取消等待 任务,但实际上并没有取消任务本身...要么是因为任务本身不处理取消,要么是因为您实际上想保留继续执行任务,但是(比如说)用“这需要一段时间……但它仍在进行中。关闭浏览器是安全的”来响应用户。 (或其他。)

关于c# - Task.Wait 方法 (CancellationToken),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919673/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com