如何避免程序出现“未响应”

昨天,小编帮朋友处理假期拍的照片,经过两个小时磨皮,瘦脸,拉腿…终于完美还原了从森林古猿到现代人类的演化过程。

就在小编满心欢喜,准备保存收工的时候……

恐怕每个用过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

它的官网:

Process Lasso Pro


Process Lasso 能在不修改任何系统配置的情况下,实时智能优化你的系统,主要功能是基于其特别的算法,动态调整各个进程的优先级,以实现为系统减负的目的,避免蓝屏、假死、进程停止响应、进程占用CPU时间过多等症状。

这是我的设置,至于效果嘛,聊胜于无吧。普通个人用户可以免费使用基础版,功能完全足够了,非常良心。

 总结,如果一款软件老是未响应,不妨换一款软件,爱情也一样。