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

            lock (_lock)
            {
                if (IsWaiting)
                {
                    TaskStaus = TimeTaskStaus.Cancel;
                    Remove();
                    return(true);
                }
            }

            return(false);
        }