Срабатывание программы в зависимости от времени без цикла и Sleep - C#
Формулировка задачи:
Доброго времени.
Код простой, раз в 4 часа в 1:58, 5:58, 9:58, 13:58, 17:58 и 21:58 выполняет некую программу (// do stuff). Код мне не нравится из-за thread.sleep(). Есть варианты как это сделать без подвисания процесса? И желательно без постоянного цикла. Триггер какой-нибудь придумать, что ли...
Листинг программы
- public void working_f()
- {
- do {
- dHour = System.DateTime.Now.Hour;
- Thread.Sleep(3600000);
- } while (dHour != 1 | dHour != 5 | dHour != 9 | dHour != 13 | dHour != 17 | dHour != 21);
- do {
- ud = System.DateTime.Now.Minute;
- if (ud >= 58) {
- // do stuff
- break;
- }
- Thread.Sleep(60000);
- } while (true);
- }
Решение задачи: «Срабатывание программы в зависимости от времени без цикла и Sleep»
textual
Листинг программы
- Timer t = new Timer(DoJob,new object(), TimeSpan.Zero ,new TimeSpan(4,0,0));
- private static void DoJob(object state){
- //что нужно сделать
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д