Task记录1.CancellationToken 取消Task任务的操作

            //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("延续操作"); }))


需要加try 否则会多输出一行 要不就加一个ThrowIfCancellationRequested 要不就在for循环体检查是否取消后

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

 
posted @ 2022-12-02 11:34  园友2288976  阅读(154)  评论(0编辑  收藏  举报