时间事件每预定义时间(15分钟)
本文关键字:时间 15分钟 预定义 事件 | 更新日期: 2023-09-27 17:56:52
我有一个问题,我似乎无法解决它。我想要的只是根据系统时钟在预定义的时间触发一个事件,例如每 15 分钟 30 分钟或 1 小时。
我最好在不使用 c# 计时器的情况下执行此操作。
更多的解释是,例如,用户选择的轮询时间为 15 分钟,而当前时间为 8:49。
该事件将在 9:04 触发,不会滞后。
这可以在没有系统计时器的情况下完成吗?
有两种
方法可以解决此问题:
- 使用计时器控件。最简单的方法
- 使用静态方法
Thread.Sleep(int milliseconds)
.使用此方法存在一个小问题,因为该方法会阻止线程启动Thread.Sleep(int)
。例如,如果您在主线程中启动它,该方法将阻止它。因此,要解决此问题,您可以创建一个新线程,然后在新线程中进行Thread.Sleep(int ms)
。
不知道这是否符合您的需求,但如果您必须安排很多工作/事件,那么 Quartz.NET 可能是正确的选择
http://www.quartz-scheduler.net/features.html