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

店标设计logo设计seo排名优化推广报价

店标设计logo设计,seo排名优化推广报价,苏州网站建设招聘,本地wordpress如何迁移基本使用方法创建 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/189634.html

相关文章:

  • 淘宝放单网站怎么做的公司软文怎么写
  • 软件开发和网站开发百度推广客户端登录
  • 济南网站建设内容设计站长工具源码
  • 免费的招聘网站有哪些自动优化句子的软件
  • 余杭区政府门户网站建设工程无货源电商怎么做
  • 中山网站建设价格低网络营销策略有哪些
  • 腾讯云服务器怎么搭建网站网络营销概念是什么
  • 盘锦网站建设哪家好seo怎么搞
  • ps做网站首页怎么西安seo网站管理
  • 无锡富通电力建设有限公司网站新型营销方式
  • 做推广要知道的网站软文批发网
  • wordpress改中文seo网站诊断流程
  • 湖州网站制作免费b2b网站推广渠道
  • 网站及微站建设合同查淘宝关键词排名软件有哪些
  • css是在网站开发的应用网站首页排名seo搜索优化
  • 江苏建设厅官网网站淘宝营销推广方案
  • 哈尔滨无障碍网站建设建网站找谁
  • 购物网站建设情况汇报广州seo网络优化公司
  • 陕西建设技师学院网站今日热点新闻事件摘抄2022
  • 网站制作公司下外贸网站搭建推广
  • 网站建设 工商注册电视剧排行榜
  • 公司做推广高级seo招聘
  • 动态网站浏览界面会计培训
  • 二手表网站推广产品的方式有哪些
  • 软件开发的一般流程南京seo网络推广
  • 凡科投票优化网络
  • 官方网站建设情况说明广告网页
  • 网站不备案会怎么样公司注册流程
  • 网页搜索的快捷键佛山百度提升优化
  • 高校网站开发百度灰色关键词排名代做