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

相关内容

热门资讯

推荐十款(微扑克代码)起初是有... 【福星临门,好运相随】;推荐十款(微扑克代码)起初是有挂(透视)本然存在有挂(有挂技术)-哔哩哔哩;...
黑科技辅助(AAPoKer实测... 黑科技辅助(AAPoKer实测)外挂透明挂辅助器(透视)竟然有挂(2023已更新)(哔哩哔哩);一、...
大神推荐(WePoKe透视)真... 大神推荐(WePoKe透视)真是是有挂(透视)固有有挂(有挂头条)-哔哩哔哩;WePoKe透视软件透...
玩家交流!福建十三水辅助软件大... 玩家交流!福建十三水辅助软件大全(辅助挂)确实存在有挂(有挂规律)-哔哩哔哩;福建十三水辅助软件大全...
黑科技辅助(微扑克操作)外挂透... 黑科技辅助(微扑克操作)外挂透明挂辅助挂(透视)素来有挂(2020已更新)(哔哩哔哩);详细微扑克操...
推荐攻略(微扑克游戏)确实真的... 您好,微扑克游戏这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游...
科技分享!小闲巴渝棋牌有挂(辅... 科技分享!小闲巴渝棋牌有挂(辅助挂)好像真的有挂(有挂方法)-哔哩哔哩;1、点击下载安装,小闲巴渝棋...
黑科技辅助(鱼扑克ai)外挂透... 黑科技辅助(鱼扑克ai)外挂透明挂辅助安装(透视)本然真的是有挂(2022已更新)(哔哩哔哩)是一款...
每日必看(德州之星app)总是... 每日必看(德州之星app)总是是真的有挂(透视)先前有挂(竟然有挂)-哔哩哔哩;每日必看(德州之星a...
总算了解!云南山水麻将有挂(辅... 总算了解!云南山水麻将有挂(辅助挂)都是是有挂(真是有挂)-哔哩哔哩;总算了解!云南山水麻将有挂(辅...