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