Срабатывание программы в зависимости от времени без цикла и 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){
    //что нужно сделать
}

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


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

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

6   голосов , оценка 4.167 из 5
Похожие ответы