C#多线程操作入门【2】:CancellationToken

         在前面的文章中,我们介绍了多线程的含义以及.NET平台中的多线程简单应用。详见:

C#多线程操作入门【1】:线程的开始与停止

         但Thread不是万能的。尤其在.NET6.0以及更高的版本中,Thread,Abort()方法被禁用,要中止线程,必须采用别的方法。本人目前的替代方案是CancellationToken方法。

       直接看例子

public partial class Form1 : Form
{
        
        CancellationToken tokenTimer;
        CancellationTokenSource tsTimer;
        private void UpdateTimer(){
        {
            //运行
        }
        private async Task RunAsync(CancellationToken CT)
        {
            if (ct.IsCancellationRequested) return;
            await Task.Run(() => UpdateTImer(ct), ct);
        }
        private void TaskStart()
            
            tsTimer = new CancellationTokenSource();
            tokenTimer = tsTimer.Token;
            //线程开始
            taskTimer = RunAsyncTimer(tokenTimer);
        }
        private void TaskEnd()
        {
            //线程终止
            tsTimer.Cancel();
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值