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

相关内容

热门资讯

第9分钟辅助挂!hhpoker... 第9分钟辅助挂!hhpoker透视脚本,德普之星辅助功能如何设置,大神讲解(有挂教程)-哔哩哔哩1、...
3分钟了解(宝石娱乐)外挂透明... 您好,宝石娱乐这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
第五分钟了解!哈糖大菠萝助手,... 第五分钟了解!哈糖大菠萝助手,wepoker有辅助功能吗,实用技巧(真的有挂)-哔哩哔哩1、第五分钟...
九分钟了解(超盟)外挂辅助器(... 九分钟了解(超盟)外挂辅助器(透视)解说技巧(2021已更新)(哔哩哔哩);1、超多福利:超高返利,...
第八分钟精通!wepoker代... 第八分钟精通!wepoker代打辅助,竞技联盟透视插件,软件教程(有挂神器)-哔哩哔哩1、全新机制【...
9分钟了解(微友娱乐)外挂透明... 您好,微友娱乐这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
4分钟体悟!wepoker辅助... 4分钟体悟!wepoker辅助分析器,拱趴大菠萝十三水透视挂,软件教程(有挂辅助)-哔哩哔哩1、打开...
三分钟了解(新518互娱)外挂... 三分钟了解(新518互娱)外挂辅助插件(透视)2025教程(2022已更新)(哔哩哔哩);是一款可以...
9分钟领会!wepoker私人... 9分钟领会!wepoker私人局开挂视频,wepoker辅助器安装包,微扑克教程(有挂解密)-哔哩哔...
9分钟了解(德州之星app安卓... 9分钟了解(德州之星app安卓版)外挂透明挂辅助安装(辅助挂)插件教程(2021已更新)(哔哩哔哩)...