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

相关内容

热门资讯

黑科技了解!红龙扑克辅助器第一... 黑科技了解!红龙扑克辅助器第一视角,GG扑克辅助软件,2025新版(一直是有挂)1、许多玩家不知道红...
wepoke是真的有挂(Wep... wepoke是真的有挂(WepOke)wepoke保险(黑科技)安装教程(确实有挂);一、wepok...
黑科技辅助挂!(wEpoke)... 黑科技辅助挂!(wEpoke)果然真的是有挂,(wepoke)竟然有挂,可靠教程(有挂总结)1、全新...
透明辅助挂!德州ai辅助器,(... 透明辅助挂!德州ai辅助器,(德州ai)切实存在有挂,玩家教你(有挂插件);进入游戏-大厅左侧-新手...
黑科技安卓版!红龙扑克透牌辅助... 黑科技安卓版!红龙扑克透牌辅助器,约局吧发牌逻辑,2025新版技巧(一贯是有挂);小薇(透视辅助)致...
wpk到底有没有外挂(WPK)... wpk到底有没有外挂(WPK)德州wpk德州真的(透视)必胜教程(果然真的有挂)一、wpk到底有没有...
黑科技辅助挂!(德州aapok... 黑科技辅助挂!(德州aapoker俱乐部)一贯是有挂,(德州aapoker)确实是真的有挂,介绍教程...
透视数据!wpk有辅助插件吗,... 透视数据!wpk有辅助插件吗,(wPK)好像是真的有挂,wpk教程(有挂详情)1、下载好wpk有辅助...
黑科技辅助!AApoker靠谱... 1、黑科技辅助!AApoker靠谱吗,aa扑克有挂吗,系统教程(素来是有挂);详细教程。2、AApo...
wepoke模拟器(WepOk... wepoke模拟器(WepOke)wepoke有机器人吗(黑科技)科技教程(一贯是真的有挂);1、w...