Задать вопрос
@akass
Developer

Как запретить остановку программы?

Есть таймер, каждые 5 минут выполняются какие методы в timer.elapsed, только из-за того что больше ничего нет таймер создается и программа завершается, не доходя до 5 минут.
Пока что сделал бесконечный счетчик в while(true), как правильно надо решать такую проблему?
  • Вопрос задан
  • 292 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@Hydro
C#/.NET Developer
var timer = new Timer((e) =>  {  });
timer.Change(0, 1000);
Console.ReadKey();

:)
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
Смотря что нужно и насколько это должно быть надежно. В простейшем случае лучше разделить программу которая выполняет методы и программу которая выполняет таймер, чтобы в случае экзепшна не накрылся таймер. Можно использовать и while(true), в нем на время ожидания просто вешать Thread.Sleep(пять минут)
Ответ написан
Комментировать
Все зависит от вашей арихитектуры, если это простое консольное приложение и кроме таймера вам ничего не нужно, то я бы делал так:
Timer timer = new Timer((obj) => 
{
      Console.WriteLine("Hello");
});
timer.Change(0, 1000);
Thread.CurrentThread.Suspend();

Поток останавливается, ничего не вылетает и таймер работает как нужно.
Ответ написан
Casper-SC
@Casper-SC
Программист (.NET)
Обычно, когда рассказывают, что что-то не работает, прикладывают код. Сидел и думал, а причём тут WPF.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы