定时事件任务池
1.为什么要使用定时任务池? 任务池可以让我们将某些需要程序循环定时执行的一系列方法自动地执行,你只需要将想要定时执行的任务扔进任务池即可,而任务池则会自动并行地调用你想要执行的方法。
2.实现 首先我们任务池的生命周期是跟程序绑定的话,我们在开始设计的时候最好将其设计为一个静态类。
1 2 3 4 5 6 7 public static TaskPool { private static int m_loopTime; private static List<CallBackFunc> m_taskPool; private Thread m_daemonThread; private bool m_running; } 在上面我们声明了一些必须的变量,例如循环调用间隔,任务池列表,以及守护线程和运行状态。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 public static class TimerPool { /// <summary> /// 回调委托 /// </summary> public delegate void CallBackFunc(); private static int m_loopTime; private static List<CallBackFunc> m_taskPool; private static Thread m_daemonThread; private static bool m_running; private static void CallFunction() { while(m_running) { Thread.