我有一个用C#编写的无限做的while循环,它无限期地打印时间。 它具有系统线程等待10秒的时间。
一旦我运行它,它一开始就没有问题。 但是,经过一段时间(例如30分钟或1个小时)后,程序会在中间挂起。该程序不再打印任何内容。 我必须按Enter键,这样程序才能继续打印。
有人遇到这个问题吗?如何使我的程序无限期运行而不会挂起?谢谢!
代码:
while(true){
Console.WriteLine(DateTime.Now());
System.Threading.Sleep(10);
}
答案 0 :(得分:2)
Sleep
参数以毫秒为单位,而不是秒。尝试将其更改为10 * 1000
。
30分钟或1小时后的暂停可能是由于垃圾回收所致。看看https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/可能的解决方法。