「应用程序未响应」应该等待还是关闭?还能抢救一下!
Microsoft Windows应用程序没有响应。如果你继续等待,程序可能会响应。
你想结束这个进程吗?
「应用程序未响应」应该等待还是关闭?还能抢救一下! - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/114508788
恐怕每个用过Windows系统的人对这个窗口都不会陌生。
如果说堵车是一点点积攒怒气,那“XXX 未响应”就是在你最爽的时候突然跳出来给你一记狠狠的耳光,关键你还不能还手!
打游戏的时候,保存文档的时候,看某些电影直接跳到高潮的时候,它就像马桶里溅起的冰冷水花,让人措不及防却又无可奈何。
然而搞机多年的小淙,什么样的故障没有见过?
我没有慌,没有生气,而是陷入了深深的沉思……
这难道不是和爱情一毛一样吗?
程序未响应的时有两个选项,等待或者关闭程序;
选择等待却不知道要等多久,有时候只需要一会儿,有时候则是永远;
如果放弃等待,之前所有的努力都将付诸东流;
更可气的是在你终于放弃的一瞬间,它却开始响应了。
结论:应用程序未响应=爱情
既然是爱情,当然只能选择原谅它。
但是与爱情的难以琢磨不同,程序始终是精准的,我们至少可以搞明白 为什么程序会出现“未响应” ,“未响应”的时候电脑都在做什么?我们能做什么?有没有办法避免程序出现“未响应”?
Windows相当于用户和程序间的传话人,用户点击每个窗口每个按钮,都由Windows以消息(Message)的形式传达给程序,程序收到消息后再做出相应反应。
Windows系统中每个程序在运行时都有一个进程,在一个进程中可能存在多个线程(比如打开QQ产生一个进程,QQ里同时打开5个女神的聊天窗口是5个线程),每个线程只能同时处理一个消息。
当Windows向程序传达一个消息,但是程序正在忙一个工作而没有理Windows,这时候Windows就会告诉用户“XXX 未响应”。
通常程序会在工作时定期检查有没有消息,比如你在解压一个文件的时候点击关闭窗口,程序会提醒你是否中断操作。
所以,程序未响应本质上就是线程不回应消息了。
而线程不回应消息的原因有两个:
1、线程正在处理一个很耗时的工作,但是没有设置检查消息,这种情况只要耐心等待程序完成手上的工作就能恢复了。
2、线程死锁了,当两个或多个线程的工作都需要占用系统资源,但都不愿意让步,于是就打起来了,打架的人当然不会回应消息。这种情况通常没法恢复,只能强制关闭程序了。
而在程序未响应的时候,中间人Windows系统啥也干不了,为了推卸责任,Windows会将决定权交给你, 等待程序响应还是关闭程序?
以往小淙会直接关闭程序,怒摔鼠标,然后 破口大骂口吐芬芳。
其实是有办法可以判断程序有没有在工作的:
1、Ctrl + Shift + Esc打开任务管理器,看看CPU占用率下降没;
2、如果在输出文件,可以看输出的文件有没有刷新,大小有没有变化。
如果程序依然占用CPU资源,输出文件仍在刷新,说明程序还在工作,这种情况还是值得一等的。至于等多久嘛,等到你耐心的极限吧。
程序未响应有时会带来灾难极的后果, 那有没有办法可以避免程序出现未响应呢?
小淙推荐一款进程优化软件:Process Lasso它的官网:https://bitsum.com/Process Lasso
它能在不修改任何系统配置的情况下,实时智能优化你的系统,主要功能是基于其特别的算法,动态调整各个进程的优先级,以实现为系统减负的目的,避免蓝屏、假死、进程停止响应、进程占用CPU时间过多等症状。
这是我的设置,至于效果嘛,聊胜于无吧。普通个人用户可以免费使用基础版,功能完全足够了,非常良心。