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

相关内容

热门资讯

七分钟开挂!赣牌圈科技,新世界... 七分钟开挂!赣牌圈科技,新世界辅助器免费下载,解密教程-2026最新版本1、下载好新世界辅助器免费下...
第十分钟外挂!至友互娱情怀辅助... 第十分钟外挂!至友互娱情怀辅助(辅助挂)都是真的是有挂,专业教程(真是有挂)-哔哩哔哩1、下载好至友...
1分钟技巧!丽水都莱辅助器,卡... 1分钟技巧!丽水都莱辅助器,卡农免费辅助,总是是有挂(有挂透视)-哔哩哔哩1.丽水都莱辅助器 ai辅...
五分钟开挂!陕西三代辅助,浙江... 五分钟开挂!陕西三代辅助,浙江宝宝游戏辅助工具,插件教程-2026最新版本1、不需要AI权限,帮助你...
第5分钟揭幕!兴动游戏辅助(辅... 第5分钟揭幕!兴动游戏辅助(辅助挂)原来有挂,wpk教程(有挂攻略)-哔哩哔哩兴动游戏辅助辅助器中分...
第十分钟教程!来来云南辅助,杭... 第十分钟教程!来来云南辅助,杭州都莱破解版,确实是有挂(有挂分析)-哔哩哔哩进入游戏-大厅左侧-新手...
第三分钟必备!聚财平台辅助(辅... 第三分钟必备!聚财平台辅助(辅助挂)真是有挂,必胜教程(有挂规律)-哔哩哔哩1)聚财平台辅助辅助挂:...
五分钟开挂!聚友联盟免费辅助器... 五分钟开挂!聚友联盟免费辅助器下载地址,闲逸辅助神器免费,技巧教程-2026最新版本小薇(透视辅助)...
8分钟教程!广西老友玩辅助,福... 8分钟教程!广西老友玩辅助,福建天天开心辅助器是真的吗,都是有挂(有挂规律)-哔哩哔哩一、福建天天开...
第5分钟详细!宝宝浙江辅助(辅... 第5分钟详细!宝宝浙江辅助(辅助挂)确实真的是有挂,详细教程(有挂分析)-哔哩哔哩1、宝宝浙江辅助系...