参照:第七节:利用CancellationTokenSource实现任务取消和利用CancellationToken类检测取消异常。 - Yaopengfei - 博客园 (cnblogs.com)
Microsoft.NET Framework提供了一个标准的取消操作模式。这个模式是协作式的,意味着你想取消的线程任务(Task)必须显式地支持取消。
换言之,无论执行操作的代码,还是试图取消操作的代码,都必须使用本节提到的类型。对于长时间运行的计算限制操作来说,支持取消是一件很“棒”的事情。所以,你应该考虑为自己的计算限制操作添加取消能力。
比如长时间IO(下载),长时间复杂计算。如果在一定时长内没有完成就取消(定时取消)。
主要运用到的类System.Threading.CancellationTokenSource
1、延时取消——在一定时长后执行取消
2、级联取消——多个取消条件级联,任一一个取消条件满足都会取消
3、取消回调函数——注册一个取消回调函数,取消执行后执行
Demo下载
https://files.cnblogs.com/files/summerZoo/CancellationTokenSample.zip?t=1646817575