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

相关内容

热门资讯

普及知识"邯郸胡乐挂... 普及知识"邯郸胡乐挂"开挂(透视)辅助工具(果然是真的有挂的)-哔哩哔哩;邯郸胡乐挂是一项邯郸胡乐挂...
第一分钟带你了解!赣牌圈控制牌... 赣牌圈控制牌型辅助器是一款专注玩家量身打造的游戏记牌类型软件,在赣牌圈控制牌型辅助器这款游戏中我们可...
九分钟带你了解!椰岛常胜辅助器... 九分钟带你了解!椰岛常胜辅助器(辅助挂)一直有挂(有挂教学)-哔哩哔哩;相信小伙伴都知道这个椰岛常胜...
解密关于"新天道辅助... 解密关于"新天道辅助器怎么设置"开挂(透视)辅助插件(原来真的有挂)-哔哩哔哩;1、这是跨平台的新天...
第五分钟带你了解!广东闲来辅助... 广东闲来辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,广东闲来辅助作为一种经典的娱乐方式,吸引...
六分钟带你介绍!湖北卡五星技能... 六分钟带你介绍!湖北卡五星技能(辅助挂)其实真的有挂(有挂工具)-哔哩哔哩;致您一封信;亲爱湖北卡五...
透视讲解"创思维辅助... 透视讲解"创思维辅助器"开挂(透视)辅助插件(原来是真的有挂)-哔哩哔哩;1、很好的创思维辅助器工具...
第1分钟带你了解!小程序小游戏... 第1分钟带你了解!小程序小游戏辅助器(辅助挂)重磅来袭外挂开挂辅助软件(一直是有挂的)1、下载安装好...
第一分钟带你开挂!如何做方片十... 【福星临门,好运相随】;第一分钟带你开挂!如何做方片十三张脚本(辅助挂)原来是有挂的(真的有挂)-哔...
玩家必备教程"九九山... 【福星临门,好运相随】;玩家必备教程"九九山城万州版辅助器"开挂(透视)辅助安装(一贯确实有挂)-哔...