场景:
使用Console,在Main中,使用如下方法使得控制台不退出
var isExit = false;
while (!isExit)
{
String message = Console.ReadLine();
if (message == "exit")
{
//这里是退出时的处理代码
isExit = true;
}
}
问题
通过该方式,如果是在前台运行,没有任何问题,但是当将控制台配置为linux服务的时候,会造成cpu 100%
主要原因是使用了ReadLine
如果改为ReadKey,会有另外一个问题发生:当配置为linux服务的时候,会不断重启服务
解决办法
可参照 Console Program.cs - 编程代码 (cscoder.cn) 的写法,让程序不退出,又能通过ctrl+c结束程序