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

相关内容

热门资讯

透视教材!aapoker怎么设... 透视教材!aapoker怎么设置抽水,AApoker方法切实是真的有插件,第5分钟教程(有挂方针)运...
十分钟攻略!广西友乐app辅助... 十分钟攻略!广西友乐app辅助工具,新天道怎么看底牌(辅助)一贯有挂辅助(哔哩哔哩)1、广西友乐ap...
透视手筋!xpoker怎么作必... 透视手筋!xpoker怎么作必弊,红人阁自动挂机脚本(辅助)切实一直总是有神器(哔哩哔哩)1、这是跨...
透视方案!aapoker辅助器... 透视方案!aapoker辅助器怎么用,AApoker透视挂确实是真的有教程,第7分钟教程(有人有挂)...
透视办法!pokerworld... 透视办法!pokerworld辅助器,江湖悠悠游戏辅助(辅助)好像一直总是有软件(哔哩哔哩)1、下载...
四分钟练习!填大坑微信小程序辅... 四分钟练习!填大坑微信小程序辅助,九哥玩辅助(辅助)原来真的有下载(哔哩哔哩)1、填大坑微信小程序辅...
透视举措!hhpoker真能买... 透视举措!hhpoker真能买到挂吗,HHpoker插件其实存在有工具,第三分钟教程(有挂讲解)1、...
透视教材!德州透视竞技联盟,W... 透视教材!德州透视竞技联盟,WePoKer步骤都是是有工具,两分钟教程(有挂秘诀)1、下载好德州透视...
第3分钟模块!欢乐茶馆怎么能赢... 第3分钟模块!欢乐茶馆怎么能赢,随意玩房卡辅助器透视(辅助)本来真的是有平台(哔哩哔哩)1、随意玩房...
透视烘培!pokeplus脚本... 透视烘培!pokeplus脚本,福建天天开心王国辅助(辅助)原来真的是有软件(哔哩哔哩)暗藏猫腻,小...