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

相关内容

热门资讯

玩家必看科普"aap... 玩家必看科普"aapoker发牌机制"aapoker辅助是什么(切实存在有挂)-哔哩哔哩1、任何aa...
wepoke真的有挂!wepo... wepoke真的有挂!wepoke是不是有辅助(WePoKe黑科技)都是有挂(真是有挂)-哔哩哔哩1...
德州ai辅助!德州ai辅助代理... WePoke高级策略深度解析‌;德州ai辅助!德州ai辅助代理,(德州ai)一般有挂,曝光教程(有挂...
wpK最新黑科技!wpk透视辅... wpK最新黑科技!wpk透视辅助可测试真的(WPK ai辅助)确实是有挂(2025已更新)(哔哩哔哩...
玩家必备科技"aap... 玩家必备科技"aapoker发牌机制"aapoker有挂(本来真的是有挂)-哔哩哔哩1、首先打开aa...
wepoke真的有挂!wepo... wepoke真的有挂!wepoke透明挂使用教程,(wePOke)原来存在有挂,黑科技德州版(的确有...
wepoke透明黑科技!wep... wepoke透明黑科技!wepoke透明挂要多少钱(WePoKe黑科技)真是存在有挂(有挂解惑)-哔...
WPK最新黑科技!wpk外挂是... WPK最新黑科技!wpk外挂是真的还是假的(WPK ai辅助)总是真的有挂(2025已更新)(哔哩哔...
记者揭秘"aapok... 记者揭秘"aapoker辅助工具ai"aapoker有作弊吗(原来存在有挂)-哔哩哔哩;1、打开软件...
wepoke智能ai!wepo... WePoke高级策略深度解析‌;wepoke智能ai!wepoke有正规,(wepOKE)一般有挂,...