首页 > 其他分享 > Task记录3 :ContinueWith ,CancellationToken,的结合

Task记录3 :ContinueWith ,CancellationToken,的结合

时间:2022-12-02 11:58:58浏览次数:36  
标签:CancellationToken 令牌 Task Console 取消 ContinueWith WriteLine 执行

 static void Main(string[] args)

        {
            //1.创建取消令牌数据
            CancellationTokenSource tokenSource = new CancellationTokenSource();
            //2.创建取消令牌
            CancellationToken token = tokenSource.Token;
         Task.Run(() =>
            {
                    for (int i = 0; i < 20; i++)
                    {

                        Console.WriteLine(i);
                    }
                    //这里我们取消判断  如果这里不执行, 那么newTask肯定不会执行, 上文说newTask为新的Task
            }).ContinueWith(NewTask,token);
//3.注册取消委托 如果我们没有取消令牌 那么我们延续操作不会执行,如果我们存在,则第一个执行
token.Register((() => { Console.WriteLine("延续操作"); }));
tokenSource.Cancel();//取消令牌 Console.ReadLine(); } private static void NewTask(Task T) { Console.WriteLine("上一个Task执行完毕,现在执行newTask"); } }

用处:一样 就是我们是否取消,根据取消状态来执行不同的任务

标签:CancellationToken,令牌,Task,Console,取消,ContinueWith,WriteLine,执行
From: https://www.cnblogs.com/jiaozai891/p/16944002.html

相关文章

  • AsyncTask和IntentService在Flutter中等价于什么
    AsyncTask和IntentService在Flutter中等价于什么在Android中,当你想访问一个网络资源时,你通常会创建一个AsyncTask,它将在UI线程之外运行代码来防止你的UI被阻塞。AsyncTask......
  • 【Java】Task07实验4第5题解析
    //TODO1:添加一个字段percent,用以表示百分秒privateintpercent;按照类的封装性要求,字段一般定义为私有的 //TODO2:添加一个只读属性getPercen......
  • C#后续任务条件参数:TaskContinueOption --枚举类型
    一、概述一个线程可以有多个任务,一个任务也可以包含多个任务。把一个任务附加给另一个任务,就需要用到ContinueWith()。该方法是Task类中的方法,有多个重载,其中最基......
  • task5
    #pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings):nickname(s){}stringget......
  • C# 异步编程 Task.WhenAll()
    Task<string>t1=File.ReadAllTextAsync("d:/1.txt");Task<string>t2=File.ReadAllTextAsync("d:/2.txt");Task<string>t3=File.ReadAllTextAsync("d:/3.txt");//等待......
  • 『题解』UVA 10795 A Different Task
    题目传送门双倍经验:LuoguP1242分析汉诺塔相信每一个合格的OIer都听说过并且实现过。这是一个递归的程序。汉诺塔本来就有两个规则:一次只能移动最上面的一个盘......
  • 利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案
    利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案Windows虽然是以UI来见长的。但是,真正的POWERFUL工具,还是命令行的。今天,介绍一种......
  • Flink TaskManager OutOfMemoryError: Metaspace 处理记录
    一个很有意思的Flink任务异常处理记录一、环境信息Flink1.12Standalone模式,单台机器,由于客户环境基本很长时间会看不到运行状态二、问题现象现场同事反馈设备在客户......
  • Task中专门的异常处理:AggregateException
    //AggregateException:是一个异常集合,因为Task中可能抛出异常,所以我们需要新的类型来收集异常对象staticvoidMethod11(){vartask=Task.Factory.StartNew(()=......
  • 神奇的Task.WaitALl
    Task.WaitAll的参数是Task列表,参数取值不同运行的结果也不同1.下边代码的运行结果是先打印"waitall"for(inti=0;i<100;i++){taskList.Add(newTask(asy......