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分钟理解!pokernow辅... 2分钟理解!pokernow辅助工具,hhpoker是真的吗,黑科技教程(有挂技巧)-哔哩哔哩1、上...
两分钟了解(WepOke)外挂... 两分钟了解(WepOke)外挂透明挂辅助软件(辅助挂)规律教程(2024已更新)(哔哩哔哩);详细W...
一分钟指导!德普辅助器辅助器怎... 一分钟指导!德普辅助器辅助器怎么用,pokemmo手机版脚本,2025版教程(有挂教学)-哔哩哔哩1...
七分钟了解(新甘孜)外挂透明挂... 七分钟了解(新甘孜)外挂透明挂辅助黑科技(辅助挂)黑科技教程(2020已更新)(哔哩哔哩);一、新甘...
4分钟了解(九酷众娱)外挂辅助... 您好,九酷众娱这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
7分钟晓得!poker辅助器免... 7分钟晓得!poker辅助器免费安装,wepoker安装教程,曝光教程(有挂方式)-哔哩哔哩1、po...
两分钟了解(新大圣)外挂辅助下... 您好:新大圣这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总...
第7分钟科普!wpk刷入池率脚... 第7分钟科普!wpk刷入池率脚本,hhpoker德州挂真的有吗,透明挂教程(有挂方式)-哔哩哔哩1、...
第四分钟了解(Wepoke智能... 第四分钟了解(Wepoke智能)外挂辅助app(辅助挂)第三方教程(2020已更新)(哔哩哔哩);W...
6分钟领会!哈糖大菠萝开挂,w... 6分钟领会!哈糖大菠萝开挂,wepoker养号规律,黑科技教程(有挂总结)-哔哩哔哩哈糖大菠萝开挂软...