Beispiel #1
0
        /// <summary>
        /// 添加新任务
        /// </summary>
        /// <param name="value">任务委托</param>
        /// <param name="type">调用类型</param>
        /// <param name="threadType">定时任务线程模式</param>
        /// <param name="runTime">执行时间</param>
        private void add(object value, Thread.CallType type, TimerTaskThreadType threadType, DateTime runTime)
        {
            long          runTimeTicks = runTime.Ticks;
            TimerTaskInfo taskInfo     = new TimerTaskInfo {
                Value = value, CallType = type, ThreadType = threadType
            };

            Monitor.Enter(taskLock);
            try
            {
                taskHeap.Push(runTimeTicks, ref taskInfo);
                if (runTimeTicks < nearTime)
                {
                    nearTime = runTimeTicks;
                }
            }
            finally { Monitor.Exit(taskLock); }
        }