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、下载安装好在哪里下载微...
透视挂!wepoker私人局透... 您好:wepoker私人局透视教程这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现...
第7小时理解“欢聚水鱼虎步龙行... 第7小时理解“欢聚水鱼虎步龙行辅助器”原先有开挂辅助挂(的确有挂)1、下载安装好欢聚水鱼虎步龙行辅助...
5分钟了解!海贝之城透视辅助器... 5分钟了解!海贝之城透视辅助器,九哥大厅辅助,德州教程(有人有挂);无需打开直接搜索加(薇:1367...
两分钟项目!微信小程序雀神挂件... 两分钟项目!微信小程序雀神挂件(透视)小程序微乐游戏辅助器(有挂讲解);无需打开直接搜索加(薇:13...
八分钟了解!哈糖大菠萝攻略,h... 八分钟了解!哈糖大菠萝攻略,hhpoker辅助软件下载,靠谱教程(有挂详细);无需打开直接搜索薇:1...
第一刹那体悟“福建天天开心辅助... 您好:福建天天开心辅助器真的假的这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
透视美元局!红龙poker辅助... 透视美元局!红龙poker辅助工具,哈糖大菠萝怎么挂(本然有开挂辅助安装);无需打开直接搜索加(薇:...
第七分钟要领!新畅游互娱科技(... 第七分钟要领!新畅游互娱科技(透视)微信自建房辅助多少钱一个月(有挂细节);无需打开直接搜索薇:13...
第2分钟了解!微乐小程序自建房... 第2分钟了解!微乐小程序自建房辅助ios,微乐a3纸牌有脚本,必赢教程(存在有挂);无需打开直接搜索...