【发布时间】:2018-06-23 06:01:49
【问题描述】:
我有一个用 C# 编写的无限 do while 循环,可以无限期地打印时间。 它让系统线程等待 10 秒。
一旦我运行它,它一开始没有问题。 但是,过了一段时间,比如 30 分钟或 1 小时,程序会在中间挂起。该程序不再打印任何内容。 我必须按回车,程序才能继续打印。
有人遇到过这个问题吗?如何让我的程序无限期地运行而不挂起?谢谢!
代码:
while(true){
Console.WriteLine(DateTime.Now());
System.Threading.Sleep(10);
}
【问题讨论】:
-
我认为这可能是内存不足的问题,请检查您的可用内存。
-
我认为这可能是内存不足的问题,请检查您可用的 Ram。因为它在您运行程序时用于临时存储,它正在临时加载到 ram 中,因此当此行连续执行时需要更多的内存也在睡眠方法中使用秒数。
-
根据控制台窗口的属性,某些类型的点击会使其认为您要选择文本,因此输出会暂停。您能否确认它是否只是自行暂停,没有任何用户交互?
-
看起来是内存问题。建议你检查TaskManager。
-
按 Enter 键不会解决内存问题或结束垃圾回收。它确实完成了 Console.Read/Line() 调用或 Edit > Mark 会话。 Console.Read 阻止 Console.Write 可能发生在 4.5 RTM 中,但已修复。按 Alt+Space > 属性 > 选项,取消选中“快速编辑模式”复选框以降低意外鼠标单击启动标记会话的几率。并且想知道这个程序如何对任何人有用。
标签: c# visual-studio console-application