C# 异步并发操作,只保留最后一次操作
在我们业务操作时,难免会有多次操作,我们期望什么结果呢? 绝大部分情况,应该是只需要最后一次操作的结果,其它操作应该无效。 自定义等待的任务类 1. 可等待的任务类 AwaitableTask: 1 /// <summary> 2 /// 可等待的任务 3 /// </summary> 4 public class AwaitableTask 5 { 6 /// <summary> 7 /// 获取任务是否为不可执行状态 8 /// </summary> 9 public bool NotExecutable { get; private set; } 10 11 /// <summary> 12 /// 设置任务不可执行 13 /// </summary> 14 public void SetNotExecutable() 15 { 16 NotExecutable = true; 17 } 18 19 /// <summary> 20 /// 获取任务是否有效 21 /// 注:对无效任务,可以不做处理。减少并发操作导致的干扰 22 /// </summary> 23 public bool IsInvalid { get; private set; } = true; 24 25 /// <summary> 26 /// 标记任务无效 27 /// </summary> 28