Как приостановить код C # на десять минут в начале каждого часа - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь заставить мое приложение приостанавливаться на девять-десять минут в начале каждого часа.

Мне удалось приостановить действие моего приложения на это время

Random waitTime = new Random();
int milliseconds = waitTime.Next(3000, 5000);
System.Threading.Thread.Sleep(milliseconds);

Я сократил время в своем коде для целей тестирования.

Теперь мне нужно связать это с чем-то, что проверяет, находится ли текущее время между (4:00, 4:10) или (5:00, 5:10) или (21:00, 1:00) и возобновить, если это не так.

1 Ответ

0 голосов
/ 29 мая 2019

Вы хотите продолжить с вашим текущим шаблоном использования Thread.Sleep(n), можете использовать простой цикл.

while (DateTime.Now.Minute <=10)
{
    Thread.Sleep(1000);
}

В общем, хотя было бы лучше запланировать задачу или хотя бы использовать вместо нее асинхронныйблокировки потока.

...