/// <summary> /// 执行任务 /// </summary> public void Run() { if (!IsWaiting) { return; } lock (_lock) { if (IsWaiting) { TaskStaus = TimeTaskStaus.Running; Remove(); } } if (TaskStaus == TimeTaskStaus.Running) { try { DelayTask(); TaskStaus = TimeTaskStaus.Success; } catch { // 由DelayTask内部处理异常,这里不处理 TaskStaus = TimeTaskStaus.Fail; } } }
/// <summary> /// 取消任务 /// </summary> public bool Cancel() { if (!IsWaiting) { return(false); } lock (_lock) { if (IsWaiting) { TaskStaus = TimeTaskStaus.Cancel; Remove(); return(true); } } return(false); }