长时间跑步比赛

时间:2016-12-13 07:42:29

标签: c#

运行事件计时器在较长时间内过去会导致系统性能下降吗?

我跑了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);
        }
    }

1 个答案:

答案 0 :(得分:0)

这不应该对性能产生任何重大影响。分配给定时器的回调使程序保持活动状态。在timedevent上调用的GetProcessesByName函数将为数组分配额外的进程空间,但我认为考虑到整个进程内存空间,它仍然是无关紧要的。