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、第三分钟了解!潮汕雀友百度贴吧辅助软件(辅助挂)总是是有挂(详细辅助教程);详细教程。2、潮汕雀...
揭秘真相"邳州友友辅... 揭秘真相"邳州友友辅助软件"邳州友友辅助软件(一直真的是有挂);1、玩家可以在邳州友友辅助软件软件透...
六分钟有挂!皇豪互众控制系统下... 六分钟有挂!皇豪互众控制系统下载(辅助挂)AI教程(其实是真的有挂)1)皇豪互众控制系统下载辅助挂:...
技术分享!欢聚水鱼神器(辅助挂... 1、技术分享!欢聚水鱼神器(辅助挂)最初是有挂(详细辅助2025新版教程)。2、欢聚水鱼神器透视辅助...
9分钟了解!鸿狐拼十辅助(辅助... 9分钟了解!鸿狐拼十辅助(辅助挂)一直真的是有挂(详细辅助教程)关于鸿狐拼十辅助机制的,其中提到了后...
分享一款"丽水都莱破... 分享一款"丽水都莱破解器是真的"丽水都莱破解器是真的(一贯有挂);1、用户打开应用后不用登录就可以直...
第6分钟辅助!吉安小程序中至游... 您好,吉安小程序中至游戏辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
推荐十款!陕麻圈有辅助吗(辅助... 推荐十款!陕麻圈有辅助吗(辅助挂)往昔真的有挂(详细辅助介绍教程);陕麻圈有辅助吗软件透明挂作为一款...
第9分钟了解!掌心辅助插件(辅... 《第9分钟了解!掌心辅助插件(辅助挂)切实真的是有挂(详细辅助方法)》 掌心辅助插件软件透明挂更新公...
9分钟辅助!余干中至五十k有挂... 9分钟辅助!余干中至五十k有挂装吗(辅助挂)德州教程(固有有挂)是一款可以让一直输的玩家,快速成为一...