文章速览
- CancellationTokenSource 概述
- 代码示例
坚持记录实属不易,希望友善多金的码友能够随手点一个赞。
共同创建氛围更加良好的开发者社区!
谢谢~
CancellationTokenSource 概述
使用System.Threading下的CancellationTokenSource类,进行异步操作的取消。它与 CancellationToken 配合使用,允许代码在操作不再需要继续执行时请求停止操作。
代码示例
/// <summary>/// 状态获取 标识/// </summary>private CancellationTokenSource GetStateTonkenSource { get; set; }/// <summary>/// 状态获取Task/// </summary>private Task GetStateTask { get;set; }/// <summary>/// 停止状态获取/// </summary>public async void StopGetState(){GetStateTonkenSource.Cancel();await GetStateTask;GetStateTask = null;}/// <summary>/// 状态获取方法/// </summary>public void GetStateImp(){if (GetStateTask != null){return;}GetStateTonkenSource?.Dispose();GetStateTonkenSource = new CancellationTokenSource();GetStateTask = Task.Run(() =>{while (!GetStateTonkenSource.IsCancellationRequested){//获取状态//间隔10msThread.Sleep(10);}});}