我发现自己对这两个术语感到困惑。我原本以为当程序“崩溃”时,它会自动退出并终止进程。但是当程序停止响应时,它会给出“程序没有响应”的错误,然后提示您下一步要做什么。
是否有描述“程序停止响应”的术语?或者这个词只是“崩溃”这个词?两者有区别吗,崩溃,程序停止响应?
有。
可以使用称为异常的技术编写程序。 以下是它们如何工作的简单描述:
因此,当程序崩溃时,它实际上已经放弃并终止了执行。
当程序停止响应时,情况就不同了。Windows 程序使用消息循环保持与操作系统的通信。 如果程序卡住,无论是等待 I/O 还是无限循环,它都会停止从循环中获取消息,然后 Windows 会告诉您程序没有响应。可能导致程序意外等待 I/O 的一件事是当您的 RAM 不足并且操作系统必须使用页面文件来处理内存请求时。另一个可能是如果您的磁盘突然出现故障并且程序员从未考虑过写入文件的可能性可能会被类似的东西中断 - 或者程序员做了类似“如果此操作失败,永远重试”之类的事情。
所以在这种情况下,程序仍在运行,只是不再与 Windows 对话。
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |