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

相关内容

热门资讯

2分钟了解!wepoker轻量... 2分钟了解!wepoker轻量版有透视吗(透视)外挂透视辅助2(真是真的是有挂);1、wepoker...
透视规律"老友广西玩... 透视规律"老友广西玩有破解视频"详细辅助wpk教程(总是是真的有挂);1、下载好老友广西玩有破解视频...
2分钟细说!拱趴大菠萝如何会赢... 2分钟细说!拱趴大菠萝如何会赢,福建天天开心十三张辅助软件(详细辅助安装教程)1、福建天天开心十三张...
透视软件"哈糖大菠萝... 透视软件"哈糖大菠萝怎么开挂"详细辅助力荐教程(素来真的是有挂);实战中需综合运用上述技巧,并根据牌...
透视游戏"欢乐对决手... 透视游戏"欢乐对决手游辅助"详细辅助wepoke教程(总是真的有挂)亲,关键说明,欢乐对决手游辅助赛...
第四分钟了解!wepoker亲... 第四分钟了解!wepoker亲友圈有用吗(透视)外挂透视辅助第四(总是存在有挂)1)wepoker亲...
交流学习经验!边锋干橙眼辅助器... 交流学习经验!边锋干橙眼辅助器名称,广东雀神智能插件是真的(详细辅助高科技教程);无聊就玩这款广东雀...
透视攻略"wepok... 透视攻略"wepoker插件下载"详细辅助安装教程(其实存在有挂)是由北京得wepoker插件下载黑...
透视中牌率"打两圈辅... 透视中牌率"打两圈辅助软件"详细辅助第三方教程(总是是有挂);1、完成打两圈辅助软件透视辅助安装,帮...
十分钟了解!红龙poker辅助... 十分钟了解!红龙poker辅助平台(透视)外挂透视辅助十(原来是真的有挂)红龙poker辅助平台是一...