System.Timer.Timer的一个安全类
class SafeTimer { private static System.Timers.Timer timer; public static Action DoWork; private static bool flag = true; private static object mylock = new object(); public static void Init(double interval) { timer = new System.Timers.Timer(interval); timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); timer.Start(); } private static void timer_Elapsed(object sender, ElapsedEventArgs e) { Thread.CurrentThread.IsBackground = false; lock (mylock) { if (!flag) return; if (DoWork != null) DoWork(); } } public static void CloseTimer() { timer.Stop(); flag = false; } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步