c# – Task.Wait方法(CancellationToken)
发布时间:2020-12-15 18:33:23 所属栏目:百科 来源:网络整理
导读:有人可以向我解释一下Task.Wait(CancellationToken)重载的用法吗? MSDN确实说了很多…… 这就是我通常处理任务取消的方式: var source = new CancellationTokenSource(); var task = Task.Factory.StartNew(() = { while (true) { source.Token.ThrowIfCan
有人可以向我解释一下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); } 那么什么时候将令牌传递给Wait方法有用呢? 解决方法
考虑你想要取消等待任务的情况,而不是实际取消任务本身…因为任务本身不处理取消,或者因为你真的想继续执行任务,但是(比如说)回应用户“这需要一段时间……但它仍在进行中.关闭浏览器是安全的.” (管他呢.)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |