//利用CancellationTokenSource实现Task任务取消
CancellationTokenSource cts = new CancellationTokenSource();
//注册一个线程取消后执行的逻辑
cts.Token.Register(() =>
{
//这里执行线程被取消后的业务逻辑.
Console.WriteLine("-------------被取消后的业务逻辑---------------------");
});
Task.Run(() =>
{
while (!cts.IsCancellationRequested)
{
Thread.Sleep(100);
Console.WriteLine("当前thread={0} 正在运行", Thread.CurrentThread.ManagedThreadId);
}
}, cts.Token);
//线程休眠到指定时间后取消
//Thread.Sleep(2000);
//cts.Cancel();
//延时取消 2s后自动取消
cts.CancelAfter(new TimeSpan(0, 0, 0, 2));
Console.ReadKey();
C#利用CancellationTokenSource实现Task任务取消
最新推荐文章于 2024-06-20 13:32:26 发布