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

相关内容

热门资讯

透视挂透视!xpoker辅助工... 透视挂透视!xpoker辅助工具(透视)其实存在有挂,切实教程(有挂辅助)-哔哩哔哩1、xpoker...
第七分钟解迷!wejoker透... 第七分钟解迷!wejoker透视方法(透视)总是是真的挂,切实教程(发现有挂)-哔哩哔哩1、用户打开...
透视线上!hhpoker辅助靠... 透视线上!hhpoker辅助靠谱吗,wepoker怎么获得好牌,模块教程(有挂分享)-哔哩哔哩wep...
透视工具!wpk刷入池率脚本(... 透视工具!wpk刷入池率脚本(透视)本来真的有挂,教你攻略(有挂测试)-哔哩哔哩1、完成wpk刷入池...
第4分钟详情!aapoker发... 第4分钟详情!aapoker发牌逻辑(透视)好像有挂,专业教程(今日头条)-哔哩哔哩1、完成aapo...
透视辅助!aapoker怎么拿... 透视辅助!aapoker怎么拿好牌,wepoker插件下载,步骤教程(有挂秘笈)-哔哩哔哩1、下载好...
透视智能ai!大菠萝免费辅助器... 透视智能ai!大菠萝免费辅助器(透视)一直是真的挂,德州教程(有挂app)-哔哩哔哩1、大菠萝免费辅...
7分钟揭露!黑侠破解wepok... 7分钟揭露!黑侠破解wepoker(透视)真是真的是有挂,靠谱教程(有挂存在)-哔哩哔哩1、完成黑侠...
透视苹果版!德普之星私人局辅助... 透视苹果版!德普之星私人局辅助器,pokerworld辅助器,项目教程(有挂功能)-哔哩哔哩1、德普...
透视透视!werplan辅助软... 您好,werplan辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...