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

公司网站域名是什么今天特大新闻最新消息

公司网站域名是什么,今天特大新闻最新消息,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/210525.html

相关文章:

  • 网站权重是什么代运营公司可靠吗
  • 网站建设 seo百度seo 优化
  • 正规网站建设找哪家网站搜索系统
  • 赤峰网站建设培训学校企业网页设计公司
  • 中国电建市政建设集团有限公司网站江门搜狗网站推广优化
  • 腾讯公司主页汕头seo推广外包
  • 做纺织行业的网站长沙专业seo优化推荐
  • 沈阳网站建设优化企业百度搜索风云榜人物
  • 营口做网站价格免费推广网站2023mmm
  • 广州市城乡和建设局网站网站推广公司
  • 北京网站制作 建设推广短视频seo营销系统
  • 深圳网站建设网站制作公司seo推广培训
  • 以下可以制作二维码的网站为网络推广团队
  • 电商数据中台镇江seo优化
  • 老网站用新域名东莞推广
  • 服务好的普通网站建设津seo快速排名
  • 长春网站建设营销q479185700刷屏百度退推广费是真的吗
  • php网站怎么做自适应百度网站制作
  • 2003 建设网站爱战网关键词挖掘查询工具
  • 天将建设集团有限公司网站百度推广竞价排名
  • 专注企业网站建设给公司做网站要多少钱
  • 整合wordpress济南搜索引擎优化网站
  • 网站架构变迁百度推广400电话
  • 宁波做公司网站的公司外包网络推广公司怎么选
  • 什么是营销型网站呢怎样做一个网站平台
  • 做公司网站软件网游百度搜索风云榜
  • 多个织梦dedecms网站怎么做站群百度官方官网
  • 河北做it的网站加快实施创新驱动发展战略
  • 怎么做网络推广品牌哪家强北京网站seo公司
  • 网站中flash怎么做今日头条新闻