Esempio n. 1
0
        /// <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;
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 取消任务
        /// </summary>
        public bool Cancel()
        {
            if (!IsWaiting)
            {
                return(false);
            }

            lock (_lock)
            {
                if (IsWaiting)
                {
                    TaskStatus = TimeTaskStatus.Cancel;
                    Remove();
                    return(true);
                }
            }

            return(false);
        }