使用CancellationTokenSource 取消任务

示例代码:

using System;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        //声明CancellationTokenSource对象
        static CancellationTokenSource cancelTokenSource = new CancellationTokenSource();

        //程序入口
        static void Main(string[] args)
        {
            Task.Factory.StartNew(MyTask, cancelTokenSource.Token);

            Console.WriteLine("请按回车键(Enter)停止");
            Console.ReadLine();

            cancelTokenSource.Cancel();

            Console.WriteLine("已停止");
            Console.ReadLine();
        }

        //测试方法
        static void MyTask()
        {
            //判断是否取消任务
            while (!cancelTokenSource.IsCancellationRequested)
            {
                Console.WriteLine(DateTime.Now);
                Thread.Sleep(1000);
            }
        }
    }
}
发布了5 篇原创文章 · 获赞 33 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/shenaisi/article/details/104654159