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

相关内容

热门资讯

5分钟神器!poker wor... 5分钟神器!poker world辅助,aapoker辅助工具免费下载(透视)必备教程(有挂透视)1...
第五分钟熟悉!wepoker辅... 第五分钟熟悉!wepoker辅助器是真的吗,wepoker底牌透视脚本app(透视)分享教程(今日头...
三分钟透明挂!智星菠萝有挂吗,... 三分钟透明挂!智星菠萝有挂吗,wpk辅助购买(透视)透明挂教程(有挂方式)1、智星菠萝有挂吗系统规律...
5分钟了解!wepoker免费... 5分钟了解!wepoker免费脚本弱密码,红龙poker辅助器免费观看(透视)靠谱教程(的确有挂)1...
第6分钟掌握!wepoker底... 第6分钟掌握!wepoker底牌透视,wejoker开挂(透视)AI教程(有挂规律)wepoker底...
第2分钟辅助!aapoker辅... 第2分钟辅助!aapoker辅助插件工具,wpk模拟器多开(透视)必备教程(新版有挂)1)aapok...
9分钟普及!wepoker免费... 9分钟普及!wepoker免费透视脚本,pokemmo手机脚本(透视)详细教程(有挂方法)1、wep...
9分钟普及!wpk辅助器,aa... 9分钟普及!wpk辅助器,aapoker如何设置胜率(透视)必赢方法(确实有挂)1、每一步都需要思考...
6分钟指导!hhpoker辅助... 6分钟指导!hhpoker辅助,aapoker怎么选牌(透视)安装教程(有挂教学)进入游戏-大厅左侧...
第9分钟熟悉!wpk辅助ai,... 第9分钟熟悉!wpk辅助ai,wepoker公共底牌(透视)详细教程(有挂方式)1)wepoker公...