组里实习生写了个定时器的程序,每隔1个小时调用下插入数据库及其他的程序,结果莫名其妙始终cpu占用率100%,经过检查,
CYCLECOUNT = 0; RUNTIME++; Console.WriteLine("程序GetAlive开始执行。"); REMAINMINUTE = CYCLEMINUTE - CYCLECOUNT; Console.WriteLine("距离程序GetAlive的第" + RUNTIME + "次执行还有" + REMAINMINUTE + "分钟。"); System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Enabled = false; //到达时间的时候执行事件; aTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEvent); //实例化Timer类,设置间隔时间为毫秒; aTimer.Interval = CYCLETIME; //是否执行System.Timers.Timer.Elapsed事件; aTimer.Enabled = true; //设置是执行一次(false)还是一直执行(true),默认为true; aTimer.AutoReset = true; Console.WriteLine("距离程序GetAlive的第" + RUNTIME + "次执行还有" + CYCLEMINUTE + "分钟。"); //Console.WriteLine("按回车键立即结束程序。"); while(true);
罪魁祸首就是最后一句...估计他是觉得没这句程序就结束了,其实采用Console.ReadLine();就可以了