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