Я пишу приложение .Net Micro Framework, которое запускает таймер, а затем делает вещи каждый раз, когда происходит таймер. Вот код:Повторяет ли Thread.Sleep (200) и Thread.Sleep (1) то же самое?
public void Run()
{
var timer = new Timer(DoStuff, null, 120000, 120000);
while (true)
{
Thread.Sleep(1);
}
}
Так каждые две минуты вызывается метод DoStuff. Мне нужен цикл while, чтобы предотвратить выход приложения. Каковы последствия выбора миллисекунд, переданных в Thread.Sleep? Значит ли небольшое значение (например, 1) приложение быстрее реагировать на таймер? Чем большее значение потребляет меньше мощности процессора?
========== ========== EDIT
Я только что вызов я (возможно) использовать вместо цикла в то время как в этом урезанном пример на GHI page about .Net Micro Framework Timers:
Thread.Sleep(Timeout.Infinite);
Я могу добавить «infinte» в мой список значений, чтобы понять.
Вы не должны использовать «Сон» здесь вообще. Почему вы решили это сделать? –
Это казалось очевидным способом сохранить приложение вживую и ждать таймера. Что бы вы там поставили вместо Давида? – dumbledad
Какой таймер вы используете? Лично я думаю, что я, вероятно, избавлюсь от таймера и вызову 'Thread.Sleep (120000)' в цикле 'while (true)'. –