我希望有人能夠對我可能發生的事情有所瞭解。以下是發生了什麼的總結。計時器延遲是隨着時間的推移而降低還是變得不一致?
我有一個應用程序,做很多「東西」。它是一個非常龐大的應用程序,使用許多線程進行大量的數字運算。有幾個定時器被使用。在很長一段時間內,定時器會一直停止調用已過時的處理程序。
例如:我有一個計時器設置爲每秒過去。幾個小時後,計時器開始隨機觸發很晚。如果我不重新啓動應用程序,性能會降低,定時器會稍後啓動,最終會變成3或4秒鐘,迫使我重新啓動應用程序。我一直無法識別任何泄漏。 CPU使用率沒有增加,內存不上,服務器沒有接近最大的地方。任何人都可以給我一些想法,可能是什麼原因造成的?
private void Timer_Elapsed(object source, ElapsedEventArgs e)
{
if (seconds > 0)
{
seconds--;
timer.Start();
}
}
內存使用情況根本沒有提高?我對這種問題的第一個嫌疑人是垃圾回收...... – 2010-08-19 23:01:42
不要太迂腐,但是沒有像「C#Timer」那樣的東西。這是一個.NET定時器,並且你正在用C#編寫。 – 2010-08-19 23:02:02
聽起來就像你的系統運行得越來越快,所以時間本身實際上正在減慢。嘗試解開永動機。 – womp 2010-08-19 23:02:25