无论计算机还是人类,如果被要求不断在多项任务间切换,都会“死机”而一事无成。除了压缩任务量,克服这种困境的另一条思路在于降低对外来信息的响应频率。
计算机科学家,也就是那些苦心钻研计算机和编程原理的人,能否帮助解决我们人类面临的普遍性问题——例如,要做的事太多,可用的时间却不够?
这是布赖恩·克里斯蒂安(Brian Christian)和汤姆·格里菲思(Tom Griffiths)在合著的新书《赖以生存的算法》中提出的主张。听上去,它是个对任何经济学家都有吸引力的主意,后者倾向于把日常决策视作应用数学的一个分支,计算机科学亦如此。
准确些讲,利用计算机科学和玩电脑不是一回事。计算科学家倾注了数十年来解决各种问题,如整理信息、排定优先顺序和联网。他们开发的许多算法同样适用于你我的大脑。毕竟,算法不只是程序,也是一种结构化的步骤方法,跟“菜谱”有点相似。
那么,什么是完成待办事项列表的最佳配方呢?答案也许比你想的简单:以任意顺序来做列表上的事,因为最后耗费的总时长一样。这是个富有哲学意义的建议,但另一方面,它似乎表明:当我们有太多事情要做而手忙脚乱时,计算机科学并不是拯救我们的福音。
笔者以前一直是这么认为的。直到某日,我读到计算机科学家彼得·丹宁(Peter Denning)的一篇论文,其中描述了计算机在多线程运行时可能遇到的麻烦。事实上,大多数计算机无法真的多线程工作;而是像人类一样,迅速从一件事切换到另一件事。计算机会在以下任务间快速切换:更新《精灵宝可梦》游戏、从网络下载视频、检查你是否敲击了键盘或挪动了鼠标……即使是计算机,也不能同时做无限量的工作,一旦达到某一限度,就会发生异常。
这个问题源于计算机使用“高速缓存”来储存数据。你可以这么理解“高速缓存”:一名钢琴家正在演奏面前的两三页乐谱,这些乐谱都储存在最高速的缓存中。乐谱背后还有其他乐谱,片刻后就能读取。此外,还有容量更大但速度更慢的缓存——放在琴凳里的乐谱。阁楼上还有更多乐谱,再有就是存放在音乐商店里的。总之,信息储存量和读取速度不可兼得。
如果钢琴家每次只演奏一首完整的乐曲,这样的设置是没问题的。但是,如果要求她每隔1分钟左右换首曲子,她就要花一些时间从琴凳里取出乐谱。如果必须每隔几秒换一首曲子,那她基本就没法演奏了——所有时间都会被用于调换谱架上和琴凳里的乐谱。
计算机的世界中存在等级制度:从微处理器自身的超高速内存,向下一直到硬盘(慢速)和异地备份(非常慢)。要想提高速度,计算机必须把当前任务所需的数据复制到快速缓存。如果任务切换太频繁,机器会把所有时间用来复制数据,然后切换任务、清除缓存并存入新的内容。在极限状态下,它什么都干不了。这种令人抓狂的状态就是所谓“系统崩溃”。
回到人类身上,我们都有过除了崩溃以外一事无成的日子;我们不断从一项任务切换到另一项,折腾了半天却什么都做不了。我们能否从计算机那里借鉴解决方案?最直截了当的方法是换个更大的缓存;可惜,这对机器来说远比对人类容易。
显而易见的替代策略是减少任务切换。在这方面,新型计算机采用“中断合并”技术,即把多个小任务合并到一起处理。联系到现实生活,一份购物清单有助于我们避免多次前往商店;你还可以把账单放在一块儿,每到月底一并处理。
但我们很难摆脱不断切换任务的痛苦。学者认为,这种痛苦有一个原因:在迅速响应和划出大块时间以提高效率之间存在取舍。如果你想在5分钟之内回复老板的邮件,你必须至少每5分钟刷新一次信箱。如果你想戒网一周来写稿子,那你的响应周期必须放慢至一周。
任何自我调适方案都应以承认这种取舍为前提。首先确定可接受的响应时间,然后据此拆分自己的工作。如果你认为在4小时内回复邮件完全没有问题(按多数标准都没问题),那你只需要每4个钟头看一眼信箱,而不是每4分钟查一次。正如克里斯蒂安和格里菲思所建议的那样,决定自己该如何响应;如果你想好好做点事情,就别超过那个响应标准。
责任编辑:王思露