Срабатывание программы в зависимости от времени без цикла и Sleep - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени. Код простой, раз в 4 часа в 1:58, 5:58, 9:58, 13:58, 17:58 и 21:58 выполняет некую программу (// do stuff). Код мне не нравится из-за thread.sleep(). Есть варианты как это сделать без подвисания процесса? И желательно без постоянного цикла. Триггер какой-нибудь придумать, что ли...
Листинг программы
  1. public void working_f()
  2. {
  3. do {
  4. dHour = System.DateTime.Now.Hour;
  5. Thread.Sleep(3600000);
  6. } while (dHour != 1 | dHour != 5 | dHour != 9 | dHour != 13 | dHour != 17 | dHour != 21);
  7. do {
  8. ud = System.DateTime.Now.Minute;
  9. if (ud >= 58) {
  10. // do stuff
  11. break;
  12. }
  13. Thread.Sleep(60000);
  14. } while (true);
  15. }

Решение задачи: «Срабатывание программы в зависимости от времени без цикла и Sleep»

textual
Листинг программы
  1. Timer t = new Timer(DoJob,new object(), TimeSpan.Zero ,new TimeSpan(4,0,0));
  2. private static void DoJob(object state){
  3.     //что нужно сделать
  4. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы