C# 组合CancellationTokenSource的使用
创始人
2024-11-15 19:35:28
0

前言

在异步编程中,经常需要使用CancellationToken来取消任务的执行。
但是通常情况下,一个耗时任务还需要有超时机制。那个如何让一个任务既可以超市自动取消也可以手动取消?

组合CancellationTokenSourced的使用

//创建两个cts(一个手动取消,一个超时取消) CancellationTokenSource cancellCts= new CancellationTokenSource(); CancellationTokenSource timeOutCts = new CancellationTokenSource(1000); //将两个cts组合 CancellationTokenSource compositeCts = CancellationTokenSource.CreateLinkedTokenSource(cancellCts.Token, timeOutCts.Token); try { 	//执行异步耗时任务 	await DoLongTimeTask(compositeCts.Token) } catch (OperationCanceledException) {     if (cancellCts.Token.IsCancellationRequested)     {        	//手动取消          throw new OperationCanceledException();     }     else if (timeOutCts.Token.IsCancellationRequested)     {     	//超时取消         throw new TimeoutException();     } } finally { 	cancellCts.Dispose();    timeOutCts.Dispose();    compositeCts.Dispose(); } 

相关内容

热门资讯

今天下午!雀姬手游辅助脚本(辅... 今天下午!雀姬手游辅助脚本(辅助)果然有辅助下载(真的有挂)-哔哩哔哩1、不需要AI权限,帮助你快速...
第2分钟了解!白金岛手游辅助脚... 第2分钟了解!白金岛手游辅助脚本平台,雀友会广东潮汕麻雀万能辅助器,技法教程(有挂秘笈)-哔哩哔哩雀...
来临!九九山城辅助免费(辅助)... 来临!九九山城辅助免费(辅助)果然是有辅助辅助器(有挂细节)-哔哩哔哩来临!九九山城辅助免费(辅助)...
第五分钟了解!安卓闲逸辅助,新... 第五分钟了解!安卓闲逸辅助,新玉海楼游戏茶苑,绝活儿教程(有挂分析)-哔哩哔哩1、进入游戏-大厅左侧...
据通报!中至江西插件(辅助)真... 据通报!中至江西插件(辅助)真是是真的辅助下载(确实有挂)-哔哩哔哩1、打开软件启动之后找到中间准星...
十分钟了解!途游四川小程序脚本... 十分钟了解!途游四川小程序脚本,功夫川麻老是输什么情况,阶段教程(有挂透明挂)-哔哩哔哩1、进入游戏...
一直以来!微友辅助器免费版v2... 一直以来!微友辅助器免费版v2.0(辅助)确实有辅助app(有挂教程)-哔哩哔哩小薇(辅助器软件下载...
4分钟了解!皇豪互娱科技软件,... 4分钟了解!皇豪互娱科技软件,人皇大厅控制牌型,绝活教程(果真有挂)-哔哩哔哩1、上手简单,内置详细...
第八分钟了解!途游四川小程序有... 第八分钟了解!途游四川小程序有挂吗,新道游游戏辅助器安装包,经验教程(有挂辅助)-哔哩哔哩1、完成新...
据权威媒体报道!余干六副真有辅... 据权威媒体报道!余干六副真有辅助吗(辅助)确实真的有辅助插件(有挂秘笈)-哔哩哔哩一、余干六副真有辅...