Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("模拟取消任务:");

            //取消对象
            var ch = new CancelHelper();

            //将取消对象传入任务
            new Thread(() =>
            {
                try
                {
                    Task(ch);
                }
                catch (OperationCanceledException ex)
                {
                    //捕捉到异常
                    Console.WriteLine("任务取消!");
                }
            }).Start();

            //按下任意键之后取消任务
            Console.ReadKey();
            ch.Cancel();

            Console.ReadKey();
        }
Example #2
0
 static void Task(CancelHelper ch)
 {
     while (true)
     {
         ch.ThrowIfCancellationRequested();
         Console.WriteLine("如果要取消任务,请按下任意键。。。");
         Thread.Sleep(1000);
     }
 }