Я надеюсь, что кто-то может пролить свет на то, что может произойти для меня. Вот краткое изложение того, что происходит.Задержка таймера Ухудшается или становится несогласованным с течением времени?
У меня есть приложение, которое делает много «вещей». Это довольно мощное приложение, которое делает множество номеров хрустом, используя множество потоков. Используется несколько таймеров. В течение длительного периода времени таймеры перестают последовательно ссылаться на прошедший обработчик.
Например: у меня есть таймер, установленный каждый раз. Через несколько часов таймер начинает беспорядочно запускать поздно. Если я не перезагружаю приложение, производительность просто ухудшается, а таймеры запускаются позже и позже, в конечном итоге, превращаясь в 3 или 4 секунды, заставляя меня перезапустить приложение. Я не смог идентифицировать утечки. Использование ЦП не увеличивается, память не растет, и сервер не находится рядом с максимальным. Может ли кто-нибудь дать мне некоторые идеи относительно того, что может быть причиной этого?
private void Timer_Elapsed(object source, ElapsedEventArgs e)
{
if (seconds > 0)
{
seconds--;
timer.Start();
}
}
Использование памяти не происходит вообще? Моим первым подозреваемым в этом виде проблемы будет сбор мусора ... –
Не быть слишком педантичным, но нет такой вещи, как «Таймер C#». Это таймер .NET, и вы, кажется, пишете на C#. –
Похоже, ваша система работает все быстрее и быстрее, поэтому время фактически замедляется.Попробуйте отцепить вечный двигатель. – womp