计算机学科里讲到,操作系统为了提高CPU的使用率,引入了**多进程图像**的概念,即 多个进程,交替执行。当一个进程执行过程中遇到IO时,将CPU让出来给其他进程使用。多进程图像的引入,大大提高了生产效率。
人类的CPU就是大脑,那么大脑是不是也能同时进行多个任务呢?
比如,今天我给自己安排了3个任务,写一个脚本、测试一个补丁包和完成一篇文档的编写。
其实我是没办法一边写脚本一边写文档,更不能再同时测试一个补丁包了。“同时”,并不真的是“同时”,而是一段时间内**交替**干了几件事,其实任何一个时刻,大脑都只是在干其中的某一件事而已。
CPU在多进程之间交替执行时,有一个很重要的事情就是要记录每个进程在切换前的状态。我们在多个任务之间交替执行时也是这样的,我在写脚本时被打断了,我需要记录这个脚本写到了什么地方,当我干完其他事情回过头来继续写脚本时我需要先“读取”我之前写到哪里,然后才继续往下写。
记录进程切换前的状态,也是要消耗资源的,如果一个CPU在执行多任务的时候频繁地切换任务,花在切换任务上的时间甚至比执行任务的时间还要长时,这个CPU基本上什么任务都没法完成了。
> 对于很多活动,我们可能会自认为是在进行多任务并行,但实际上我们做的不过是在不断地进行任务切换。
> ...真正的多任务并行是指同时做两件事甚至更多事情..。
如果真的要进行多任务并行呢?
**将多个小任务放在一起集中处理**
比如,处理邮件,如果你来一封处理一封,那么你这一天基本上就陷入了回想我刚刚在干啥的状态了,而且邮件也不一定能安心处理好;
将这些相关联的小任务集中处理,有两个有点:
> 你不会打破自己对正在处理的大任务的专注
> 你会更专注处理这些小任务
所以,可以考虑从处理邮件开始,每天在固定的一段时间内集中处理邮件。RTX也可能是个例子,我每天只在固定的时间段内打开它(其实最有效的沟通,是走到他面前说)。
**真正的多任务**
最有可能的真正的多任务就是,将一项不费脑筋的任务和一项一定程度上需要精神专注才能完成的任务组合起来。比如,一边听音乐,一边敲代码;或者一边跑步,一边听个有声读物。
**所以,真正的多任务,是将耗费脑力的活动,跟体育运动结合起来。**
网友评论