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循环体检查是否取消后
用处:通知某些任务 取消操作发生了 我该如何去做