对于测试,使程序显示的最简单方法是什么"无响应" ?中断Windows消息或将其置于无限循环中?
我尝试过像
这样的简单循环while(true)
但这不起作用。 测试应用程序是一个C#控制台应用程序。它在控制台中运行的事实是否会使响应更快?#34 ;?也许添加的控制台处理的某些部分会让它一直响应?
更新
将其更改为一个简单的Winform Application,将其置于无限循环中。工作lika魅力。感谢Servy。
答案 0 :(得分:6)
从Windows任务管理器的角度来看,控制台应用程序永远不会“无响应”。实际上,任务管理器没有运行你的程序,它正在运行一个运行程序的shell(cmd.exe),并且编写了这样的shell,即使你的程序没有,它也会一直响应。如果您没有通过shell运行程序但是直接启动它,那么程序将不会有任何UI,它不会是任务管理器中的“应用程序”(意味着它不会显示在“应用程序”选项卡),它只是一个过程。
如果您只需要从任务管理器的角度模仿任何程序“无响应”,您应该创建一个简单的winforms应用程序并将其置于无限循环中。如果有一种模糊的方法使程序从控制台应用程序显示为“无响应”,至少它将比任何标准桌面GUI类型更难。
答案 1 :(得分:3)
你可以做Thread.Sleep(X)
答案 2 :(得分:2)
使程序“无响应”无限期的最简单方法是使用无限循环:
while(true);
答案 3 :(得分:1)
在UI线程上做任何工作(对于UI应用程序)
Thread.Sleep
While (true)
这可能会让您深入了解您尝试完成的更多内容(.net console app stop responding when printing out lots of chars in a row)