//1.创建取消令牌数据
CancellationTokenSource tokenSource = new CancellationTokenSource();
//2.创建取消令牌
CancellationToken token = tokenSource.Token;
         Task.Run(() =>
{
tokenSource.Cancel();//取消任务
if (token.IsCancellationRequested)//判断是否取消
{
Console.WriteLine("我已经取消任务");
}
else
{
for (int i = 0; i < 20; i++)
{ Console.WriteLine(i);
}
} },token); //3.注册取消委托
token.Register((() => { Console.WriteLine("延续操作"); }))

用处:通知某些任务 取消操作发生了 我该如何去做

Task记录1.CancellationToken 取消Task任务的操作的更多相关文章

  1. Task:取消异步计算限制操作 & 捕获任务中的异常

    Why:ThreadPool没有内建机制标记当前线程在什么时候完成,也没有机制在操作完成时获得返回值,因而推出了Task,更精确的管理异步线程. How:通过构造方法的参数TaskCreationOp ...

  2. 创建CancellationTokenSource对象用于取消Task

    虽然使用线程池ThreadPool让我们使用多线程变得容易,但是因为是由系统来分配的,如果想对线程做精细的控制就不太容易了,比如某个线程结束后执行一个回调方法.恰好Task可以实现这样的需求.这篇文章 ...

  3. android学习记录(十三)Task 和 Activity 回退栈操作。

    首先说一下Task是一个什么概念吧:Task是一个包括activity的列表.没 错.简单的说就是依照启动的先后来排队的一个队列.Back Stack.就是回退栈的意思:那么有什么用?Back Sta ...

  4. 在ASP.NET Core中用HttpClient(五)——通过CancellationToken取消HTTP请求

    ​用户向服务器发送HTTP请求应用程序页面是一种非常可能的情况.当我们的应用程序处理请求时,用户可以从该页面离开.在这种情况下,我们希望取消HTTP请求,因为响应对该用户不再重要.当然,这只是实际应用 ...

  5. 走进Task(2):Task 的回调执行与 await

    目录 前言 Task.ContinueWith ContinueWith 的产物:ContinuationTask 额外的参数 回调的容器:TaskContinuation Task.Continue ...

  6. Task作为返回值以及Task<TResult>作为返回值

    async await return Task https://stackoverflow.com/questions/25191512/async-await-return-task Can som ...

  7. Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析

    重现 在 .Net5 平台下,创建一个控制台程序,注意控制台程序的Main()方法如下: static async Task Main(string[] args) 方法的主体非常简单,使用Task. ...

  8. 任务取消TASK

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. c# Task编程一个task抛出异常后怎么取消其他线程

    从MSDN的Forum上看到别人提供的解决方案,感觉还是比较靠谱,所以就保存下来. CancellationTokenSource cts = new CancellationTokenSource( ...

  10. CancellationTokenSource 和 CancellationToken 取消线程

    Main 程序[分别调用三个方法] static void Main(string[] args) { using (CancellationTokenSource cts = new Cancell ...

随机推荐

  1. 这篇关于Oracle内存管理方式的介绍太棒了!我必须要转发,很全面。哈哈~

    "Oracle内存管理可分为两大类,自动内存管理和手动内存管理.其中手动内存管理又可分为自动共享内存管理,手动共享内存管理,自动PGA内存管理以及手动PGA内存管理.本文会简单的介绍不同的内 ...

  2. ubuntu生成pem证书连接服务器(已验证)

    SSH 密钥认证是什么? 与用户密码登录相比,SSH 密钥认证更安全,因为只有拥有密钥的人才能连接,并且密钥通过不同的算法进行了很好的加密.它还通过无密码登录使 SSH 连接变得简单. 这个搞两个方案 ...

  3. 图学习【参考资料2】-知识补充与node2vec代码注解

    本项目参考: https://aistudio.baidu.com/aistudio/projectdetail/5012408?contributionType=1 *一.正题篇:DeepWalk. ...

  4. c#显示和隐藏另外一个进程

    1 /// <summary> 2 /// 0-关闭窗口 1-正常大小显示 2最小化窗口 3-最大化窗口 3 /// </summary> 4 /// <param na ...

  5. Hashcat使用指南

    Hashcat使用指南 免责声明: 0×01 Hashcat破解linux shadow的密码-首先了解shadow文件到底是什么? 0×02 hashcat的使用 参数补充: -m 参数 -a 参数 ...

  6. 说一下 ArrayList 和 LinkedList 的区别?

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在上一篇文章里,我们聊到了基于动态数组 ArrayList 线性表,今天我们来讨论 ...

  7. Spring Boot中@Import三种使用方式!

    需要注意的是:ImportSelector.ImportBeanDefinitionRegistrar这两个接口都必须依赖于@Import一起使用,而@Import可以单独使用. @Import是一个 ...

  8. c#winfrom通讯录管理系统

    一个简单的通讯录管理系统,适合毕业设计. 主要实现以下功能 1.系统登录 2.增加联系人 3.修改和删除联系人 4.查找联系人 5.系统用户管理 首先先搭建数据库. 我这边使用的版本是sqlserve ...

  9. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

  10. MISC中需要jio本处理的奇怪隐写

    好耶! 老样子,还是以ctfshow[1]中misc入门中的题目为切入点 感兴趣的同学可以一边做题一边看看.呜呜,求点浏览量了 APNG隐写(MISC40) APNG是普通png图片的升级版,他的后缀 ...