«Таймер» потребляет больше ресурсов процессора? - PullRequest
5 голосов
/ 25 октября 2011

Я использовал таймер и нашел его очень полезным, принимая решения за секунды или миллисекунды.Теперь у меня есть сильное чувство, что непрерывный запуск таймера постепенно увеличивает потребление тактов процессора.

Я создал приложение (C #) и использовал «отметку времени» для выполнения «трех» инструкций за 1000 миллисекунд (1 секунда).) и я заметил, что через 5 минут приложение потребляет 5% мощности процессора и 10% через 10 минут.

Если этот прогресс остается постоянным, то что произойдет через 4-5 часов, если я запусту свое приложение в фоновом режиме?

Стоит ли избегать чрезмерного использования таймера?

private void currentTime_Tick(object sender, EventArgs e)
{
   label1.Text = DateTime.Now.ToString("HH:mm:ss tt");
   label2.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
   i++;
}

1 Ответ

1 голос
/ 26 октября 2011

Мне кажется, что причина не в самом таймере, а в тех инструкциях, которые он вызывает. Вы создаете объекты в этих ваших инструкциях или вызываете что-то, что выполняется в отдельном потоке? Запуск потоков или распределение ресурсов, а также забвение их закрытия, безусловно, могут привести к описанному вами поведению.

...