虚拟应用程序未响应

虚拟应用程序未响应

我目前正在确定生产环境如何在 Windows 关闭期间处理挂起/无响应的应用程序。

为了测试这一点,最好有一个除了挂起/不响应之外不执行任何操作的虚拟应用程序。

  • 我的第一个意图是打开cmd并启动一个ping -t localhost,但是这个意图毫无问题地被完成了。

  • 打开notepad并输入某些内容而不保存也无济于事,因为 Windows 很容易检测到它实际上是在等待我的响应。

  • 编写一个仅由 组成的小型 Java 程序while(true) { /* Nonsense */ }只是一个部分解决方案,因为它会堵塞系统,从而导致其他应用程序都无法及时响应。

答案1

我还没有找到微软官方文档描述该状态的含义。通常,它与线程应用程序有关,其中一个线程阻止了与程序本身的交互。

与此相关的问题有:

重新创建它的一个简单示例(正如问题之一所详述的那样,对于控制台应用程序来说,这可能非常困难)是创建一个带有按钮的 Windows 窗体应用程序,单击按钮时将启动一个非常耗时的操作(简单while(true)System.Threading.Thread.Sleep(999999)可以做到)。此时,GUI 将无法再响应,并且该过程将停止处理消息(据我所知)。

如果您检查任务管理器,它应该显示为“无响应”。但它仍然与其他标记为“无响应”的程序不同,因为至少在我非常有限的测试中,从来没有弹出窗口告诉您该进程停止响应。

相关内容