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(); } 

相关内容

热门资讯

第4分钟了解!小唐家乐园辅助器... 第4分钟了解!小唐家乐园辅助器下载链接(辅助)开心联盟开挂辅助辅助-真是真的是有工具1、玩家可以在小...
第十分钟了解!越乡游义乌微信小... 第十分钟了解!越乡游义乌微信小程序(辅助)来几局app开挂辅助平台-切实真的有辅助1、每一步都需要思...
六分钟了解!荔枝辅助器免费(辅... 六分钟了解!荔枝辅助器免费(辅助)快乐牛牛开挂辅助平台-本来真的是有下载1、游戏颠覆性的策略玩法,独...
第7分钟了解!广东闲来辅助免费... 第7分钟了解!广东闲来辅助免费(辅助)蜀乐麻将开挂辅助平台-一贯是真的安装1、点击下载安装,广东闲来...
5分钟了解!四川家园游戏辅助(... 5分钟了解!四川家园游戏辅助(辅助)华龙棋牌开挂辅助辅助-其实存在有软件1.四川家园游戏辅助 选牌创...
第四分钟了解!飞驰娱乐辅助软件... 第四分钟了解!飞驰娱乐辅助软件(辅助)榄星河开挂辅助平台-好像真的是有app1、飞驰娱乐辅助软件公共...
第四分钟了解!蜀山四川破解版安... 第四分钟了解!蜀山四川破解版安卓(辅助)盛世娱乐开挂辅助插件-都是存在有工具1、每一步都需要思考,不...
第六分钟了解!全来潜山跑风辅助... 第六分钟了解!全来潜山跑风辅助器(辅助)微乐安徽麻将开挂辅助软件-原来是有插件一、全来潜山跑风辅助器...
第8分钟了解!科技实测情怀辅助... 第8分钟了解!科技实测情怀辅助(辅助)德扑之星开挂辅助修改器-一贯是真的工具暗藏猫腻,小编详细说明科...
七分钟了解!贪吃蛇辅助器(辅助... 七分钟了解!贪吃蛇辅助器(辅助)同城游红十开挂辅助平台-果然是有平台1、点击下载安装,贪吃蛇辅助器脚...