Beispiel #1
0
 private static AbstractTimeTask GetTimeTask(AbstractTimeTask task, uint start, int interval, Action action)
 {
     task.Interval = interval;
     task.TimeId   = ++TimeTaskManager.m_uiNextTimeId;
     task.NextTick = TimeTaskManager.m_uiTick + start;
     task.Action   = action;
     return(task);
 }
Beispiel #2
0
    public static uint AddTimer(uint start, int interval, Action action)
    {
        AbstractTimeTask task = GetTimeTask(new TimeTask(), start, interval, action);

        lock (m_queueLock)
        {
            m_queue.Enqueue(task);
        }
        return(task.TimeId);
    }
Beispiel #3
0
    /// <summary>
    /// 吧Task加入到队列里面来管理,既然是个管理器肯定要有个添加task的操作
    /// </summary>
    /// <param name="start">多久之后开始执行ms</param>
    /// <param name="interval">重复时间间隔ms</param>
    /// <param name="action">任务委托</param>
    /// <returns>任务id</returns>
    public static uint AddTimer(uint start, int interval, Action <object> action, object obj)
    {
        AbstractTimeTask task = GetTimeTask(new TimeTask(), start, interval, action, obj);

        lock (m_queueLock)
        {
            m_queue.Add(task);
        }
        return(task.TimeId);
    }