运行事件计时器在较长时间内过去会导致系统性能下降吗?
我跑了5分钟,它似乎稳定地使用21MB进程内存
如下:
private static Timer aTimer;
static void Main(string[] args)
{
aTimer = new Timer(2000);
aTimer.Elapsed += OnTimedEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;
GC.KeepAlive(aTimer);
Console.ReadLine();
}
private static void OnTimedEvent(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Elapsed event happend at {0}", e.SignalTime);
Process[] nProcess = Process.GetProcessesByName("PROCESSNAME");
if (nProcess.Length > 0)
{
nProcess[0].Kill();
Console.WriteLine("Process {0} has been terminated", nProcess);
}
}
答案 0 :(得分:0)
这不应该对性能产生任何重大影响。分配给定时器的回调使程序保持活动状态。在timedevent上调用的GetProcessesByName函数将为数组分配额外的进程空间,但我认为考虑到整个进程内存空间,它仍然是无关紧要的。