当前位置: 首页 > wzjs >正文

十堰新闻网爱站网站seo查询工具

十堰新闻网,爱站网站seo查询工具,网页设计的理解,制作相册的软件基本使用方法创建 CancellationTokenSource获取 CancellationToken将 CancellationToken 传递给任务***注意*** 在任务中检查取消状态请求取消处理取消异常 高级用法设置超时自动取消或者使用 CancelAfter 方法关联多个取消令牌注册回调 注意事项 CancellationTokenSource 是 …

  • 基本使用方法
    • 创建 `CancellationTokenSource`
    • 获取 `CancellationToken`
    • 将 `CancellationToken` 传递给任务
      • ***注意***
    • 在任务中检查取消状态
    • 请求取消
    • 处理取消异常
  • 高级用法
    • 设置超时自动取消
    • 或者使用 `CancelAfter` 方法
    • 关联多个取消令牌
    • 注册回调
  • 注意事项

CancellationTokenSourceC# 中用于实现异步操作取消的核心类,它生成 CancellationToken 对象,该对象可以传递给异步方法,并在异步方法内部检查是否收到取消请求。

基本使用方法

创建 CancellationTokenSource

CancellationTokenSource cts = new CancellationTokenSource();

获取 CancellationToken

CancellationToken token = cts.Token;

CancellationToken 传递给任务

Task task = Task.Run(() => DoWork(token), token);

注意

// 传递给
Task.Run(() => {Foo();
}, token);
// 的token只是在Task开始运行前检查一次是否取消,如果取消,Run不了一点

在任务中检查取消状态

static void DoWork(CancellationToken token)
{for (int i = 0; i < 10; i++){// 检查是否收到取消请求if (token.IsCancellationRequested)token.ThrowIfCancellationRequested();// 此处抛出异常,外面用try catch捕获Console.WriteLine($"Task working... {i}");Thread.Sleep(500); // 模拟耗时操作}
}

请求取消

cts.Cancel();

处理取消异常

try
{await task;
}
catch (OperationCanceledException)
{Console.WriteLine("Task was cancelled.");
}

高级用法

设置超时自动取消

CancellationTokenSource cts = new CancellationTokenSource(5000); // 5秒后自动取消
CancellationToken token = cts.Token;

或者使用 CancelAfter 方法

CancellationTokenSource cts = new CancellationTokenSource();
cts.CancelAfter(5000); // 5秒后自动取消

关联多个取消令牌

CancellationTokenSource tokenSource1 = new CancellationTokenSource();
CancellationTokenSource tokenSource2 = new CancellationTokenSource();CancellationTokenSource linkedTokenSource =CancellationTokenSource.CreateLinkedTokenSource(tokenSource1.Token, tokenSource2.Token);linkedTokenSource.Token.Register(() => Console.WriteLine("Linked token cancelled")
);tokenSource1.Cancel(); // 会触发 linkedTokenSource 的取消

注册回调

token.Register(() => Console.WriteLine("Cancellation requested"));

注意事项

  • 取消操作是协作式的,任务必须主动检查 CancellationToken 的状态。
  • CancellationTokenSourceCancel 方法会触发所有注册的回调。
  • 默认情况下,CancellationTokenSource 是一次性的,取消后无法重置。

通过这些方法,CancellationTokenSource 可以有效地管理异步操作的取消。

http://www.dtcms.com/wzjs/149031.html

相关文章:

  • 企业网站模板下载哪家口碑好新手做seo怎么做
  • 销售加app安卓下载官网seo综合查询怎么进入网站
  • 河南平顶山网站建设与管理专业百度官网app下载安装
  • 重庆招考网seosem是什么职位
  • c2c网站开发成本2023年10月疫情还会严重吗
  • 我要学习做网站品牌网络推广怎么做
  • 可信赖的南昌网站建设seo优化网站优化排名
  • 做网站后台需要写代码吗正规排名网站推广公司
  • 长春做网站推广的公司跨界营销案例
  • 网站申请微信支付如何注册网站免费注册
  • ps做特效哪个网站好上海网站seo公司
  • 日照网站优化怎么做网站链接
  • 建网站引流做淘宝网站建成后应该如何推广
  • 网站案例模版西安网站建设方案优化
  • 自动化编程培训机构广东seo
  • 网站制作 广州北京今日重大新闻
  • 永久免费企业建站官网大全seo还能赚钱吗
  • 天津建设集团网站站长工具ip查询
  • 郑州网络营销公司排名内蒙古网站seo
  • 什么网站能免费做推广百度如何做推广
  • 哪些网站做免费送东西的广告6成都网站制作关键词推广排名
  • 企业网站建设移动com天堂网
  • 外贸网站建设网站天津seo排名收费
  • liferay做网站好吗培训方案及培训计划
  • 网站注册协议公司网站建设流程
  • 大麦网的网站建设如何快速推广app
  • 生日祝福网页源码html广州做seo的公司
  • 湖北省建设安全管理协会网站天眼查询个人
  • 做网站全屏尺寸是多少钱打开官方网站
  • 竞价sem托管公司博客seo教程