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

相关内容

热门资讯

最新技巧(wpk微扑克)原来存... 最新技巧(wpk微扑克)原来存在有挂(透视)好像有挂(有挂实锤)-哔哩哔哩;wpk微扑克中的10万兆...
玩家必备教程!丽水茶苑双扣有外... 玩家必备教程!丽水茶苑双扣有外挂(辅助挂)固有是有挂(揭秘有挂)-哔哩哔哩是一款可以让一直输的玩家,...
科技通报(WePoKe有挂)外... 科技通报(WePoKe有挂)外挂透明挂辅助软件(wepower)辅助机器人(本然是真的有挂)-哔哩哔...
黑科技辅助(Wepoke德州版... 黑科技辅助(Wepoke德州版)外挂透明挂辅助下载(透视)原来真的是有挂(2023已更新)(哔哩哔哩...
实测教程(cloudpoker... 实测教程(cloudpoker云扑克)果然真的有挂(透视)确实存在有挂(有挂分享)-哔哩哔哩是一款可...
详细说明!宝宝浙江游戏辅助器是... 您好,宝宝浙江游戏辅助器是真的嘛这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】...
记者揭秘(微扑克外挂)外挂透明... 记者揭秘(微扑克外挂)外挂透明挂辅助神器(德州aa扑克)软件透明挂存在(固有是有挂)-哔哩哔哩;微扑...
黑科技辅助(WPK猫腻)外挂透... 黑科技辅助(WPK猫腻)外挂透明挂辅助下载(透视)本然是真的有挂(2022已更新)(哔哩哔哩);1、...
一分钟了解!老友麻将有挂(辅助... 一分钟了解!老友麻将有挂(辅助挂)切实真的有挂(有挂秘诀)-哔哩哔哩是一款可以让一直输的玩家,快速成...
最新技巧(微扑克app)确实有... 最新技巧(微扑克app)确实有挂(透视)其实有挂(有挂教学)-哔哩哔哩;人气非常高,ai更新快且高清...