《用Go理解并发编程》1-1 并发思想起源
从同时画方圆探讨并发思想起源
尝试同时画方圆
还记得左手画方,右手画圆的挑战吗?也许大部分人都玩过。
反映了什么?左右手,相同的器官,相似的神经,相近的控制,让人交错难耐,欲罢不能。
于是你颤颤巍巍一边想着画方形,一边想着画圆形,终于是完成了看起来不太标准的巨制。
现在需要你思考一个问题,在你绘制方圆的过程中,从你的视角认为,画方圆是同时进行的么?试想一下从他人的视角,你的画方圆行为是同时进行的么?
不同的人可能会得出不同的答案,这是一个开放性的问题。不光你在思考,脑科学家也在思考,处理器研发人员也在思考。如果将大脑简化成当代大部分计算机所使用的X86架构处理方式,答案是确定的,一个处理单元不允许同时处理画方形与画圆形的任务。
冯·诺依曼(现代计算机奠基人)架构的核心就在于“存储程序,顺序执行”。一个“顺序”就阻挡了想要“同时”干两件事的美好愿景,因为一旦同时,逻辑顺序将可能被打破。好像人脑也确实是这样实现的,当人准备执行画方形与圆形任务的时候,表层注意力一定只会专注于一样事务,这体现在当你专注画圆,方形的绘制就开始脱离控制,当你专注画方形,圆形的绘制就开始偏离控制。难道上帝也是这样想从而设计的人脑吗?当然,这还是个未知数。
不光上帝是不是这样想的是一个未知数,很多时候你自己也不清楚人的大脑是否可处理干两件事情的信号,因为大脑的处理对人不可见,但代表动作的产生与变更——它可能是看不见的电信号,抑或是你能看得见的肢体语言,是可感知的。而很显然,人可以“同时”干两件事情甚至多件事情,已经是普天下的共识。人可以一边唱歌一边跳舞,可以一边看屏幕一边打字,可以一边睡觉一边做梦,想想都是理所当然的事情。
甚至,回到最初画方圆的问题,有些人似乎画起来两边左右开弓依旧可以行云流水。若不是,抖音和快手一定会少了许多叹为观止的牛人。
你愿意相信什么
当自己的理解与现实的所见产生冲突,你愿意相信什么?
我们来总结一下自己的所见所闻:
- 自己好像同时画方圆总是别别扭扭,一些科学观点也支持人脑无法同时集中注意力在两件事情上
- 广泛的事实体现出,人类有同时进行并实际掌控两件或多件事情的能力
- 无法集中注意力在两件事情上,并不代表无法掌控这两件事情的发展,二者可以共存
奥,对了,如果你暂时无法找到纸和笔的话,还可以尝试这么一个小游戏:坐下,用左手握拳上下敲左腿,右手平直前后搓右腿,这回应该毫无难度了,只要你的节奏把控得当。细细想来,当你敲腿与搓腿渐入佳境的时候,往往意识渐渐模糊,好像已经不用再专注在这件事情上。就像夏天的摇扇,不停止的呼吸,感受不到的肠道蠕动一样。
学过生物知识的你当然明白,呼吸和肠道蠕动这两项生存必须能力,是人类先前物种在长久进化过程中,产生的主要由副交感神经控制的单元。副交感神经又称自主神经,在主动意识不自觉情况下,会按照既定规律自行指挥下辖系统并进行调节,同时也受到其他神经系统的影响。
进一步的说,虽然你并不知道人脑及其他神经系统之间相互协调、控制的机制,但从主观意识的感觉上,人可以将一些事情的行进发配给“不受主观意识感知”的神经进行工作,从而实现一个人同时掌控多件事情的现实。同时,这种分配、切换越顺畅、越灵活,对外体现出的“同时”特征就越明显。
虽然我们还没有对并行和并发的计算机领域概念进行专业阐述,但通过对日常生活的总结,和对背后生物机制的探索,我们明白了:
- 一个控制单元通过利用其他控制单元分别执行任务,达到微观上顺序执行,宏观上同时执行
- 在个人的实践中,依靠神经丛间互相影响和控制,实现传统理解层面的“同时作业”
从人类进化史探讨并发思想作用
精准投掷成为进化里程碑
让我们把目光投向一个再简单不过的动作——投掷。
仔细想一想,除了灵长类动物,是否还有其他的动物会投掷?也许你从来没思考过这个问题,但是细细一想,好像真的没有?
在过去一个世纪里,科学家已经绘制出人类的进化之路,并标记出了一个个进化的里程碑:直立行走,制作工具,驾驭火焰。但美国的考古学家、北得克萨斯州大学的教授Reid Ferring却提出了另外的一个补充观点:
- 学会精准投掷是人类进化的又一个里程碑
考古学家Barbara Isaac在1987年的文章中首次声明:“人类的投掷本领是在进化中产生,但只有很少的学者注意到了这一点”,她还批评“现代城市居民和学者”已经遗忘了这种投掷的能力。
“不是石头在手中变成工具,而是石头飞出双手的那一刻。这一点常常被忽视,实际上却又极具革新意义。”摘自Ferring在德马尼西遗址接受记者采访的一段语录。包括Ferring在内的许多研究者声称,投掷石块这一行为让我们在成为人类的道路上更进了一步。
专家给出这样的判断,是因为有意识的投掷有显著的、在现在看来的“异步”特性:任务瞬间发出,然后依托物理规则,物体借助惯性运动,依托投掷时指定的各项参数(角度、力度)等,按规律运行,且可能发生意外。经过一段时间之后才能得到结果。重要的是,除非额外动作干预,石头的飞行动作与个体思想与行为完全脱离了干系!
因而,不少考古学家与古生物学家均认为,有意识地用石头准确地命中目标代表着神经桥的进化突破。这一推断在其他的进化证据上得到了印证,尤其是语言方面。布鲁卡语言区是大脑的一个分区,负责复杂的手眼协调,同时也与演讲、交流等高级心智能力有密切关系,人们发现,在各类投掷物丰富发展的历史时代,原始人类的布鲁卡语言区也在同时飞速进化。语言区的进化,为日后大规模协同,组织部落,形成原始社会奠定了坚实基础。
借助投掷技能,人类学会了“远程攻击”。有研究指出,这种远程攻击至今可能一些动物依旧无法理解,他们无法理解一种作用是如何超越自身视界及所触范围之外发生效力,包括一系列猫科动物等我们认为“聪明”的生物,当被石头击中时,会理解为被石头进行了攻击——即使他们亲眼目睹了是由人类投掷出的物体。
至此,更加翔实和完善的人类进化图谱被呈现了出来:直立行走,制作工具,驾驭火焰,精准投掷,语言成型,部落组织,社会形成。
是什么将进化串联
看似不相关的标志性进化事件发生,背后的原因似乎殊途同归。投掷、沟通,看似不相干的两个动作,进化的是同一个大脑区域——布鲁卡语言区。是什么将这种进化串联?
我们将这些事件按照协作的角度进行拆分,可以发现有意思的规律。
从单细胞生物进化到多细胞生物,升级的是细胞间协作;高等动物的产生,升级的是各类系统间协作;驾驭火焰,升级的是无意识与自然规律主导下其他工具的协作;精准投掷,升级的是有意识地与自然规律主导下其他工具的协作;语言成型及之后的部落组织,升级的是有意识地与其他同种个体之间的协作。
可以看到,从协作的角度考量,整个人类进化史,就是一部人自身协调、人-物协调、人-人协调的进化发展史。
那么,这样的进化究竟具体带来了怎样的红利呢?
多细胞、多系统的协调,为构造复杂生物,创造了基本条件。和谐的内部协调,保证了完整人类个体生命的健壮性,至少从个体上说,让人不会像草履虫、路边蝼蚁一样脆弱。
学会无意/有意借助自然规律,使得工具等其他物品可以在一点点人类动作的助推下,进入半自动、全自动的运行状态,扩展了人类的能力种类,也扩展了人类已有能力的作用范围。
学会与其他同种个体的协调,保证了更大规模作业、工程推进的可能性,奠定了社会形成基础。
一切以协调为中心的能力发展,最终都切实增强了人类这个物种的生命力和创造力。时至今日,“人干不了的事情找工具干,一个人干不了的事情找多个人干”这样的价值观,已经成为普天下的共识。
总结
在同时画方圆、一边捶腿一边搓腿的两个案例中,我们能感受到在人体内部神经影响机制下,微观的“顺序”可以做到宏观的“同时”。而在人类进化过程中学会自主意识投掷的案例内,我们又能感受到高级神经桥支配下,人类学会主动借助物理规律,让远程攻击与观察结果两大过程性动作顺序排布,最终做到二者逻辑上的“同时”,且做到了客观同时。
从人体自身的机制,到人类进化的标志,复杂身体系统的协调、自然规律的运用、多个体配合与社会化交互贯穿了大大小小的案例。从进化的角度来谈论,每一个里程碑都让人类这个物种愈发强大。在各类人类自身、人-物协调与人-人协调的案例内,都体现着用微观“顺序”体现宏观“同时”的基本原则。
进一步的,我们总结如下的一套方法论:
- 对于无法同时执行任务的单元,面对同时执行多个任务的需求,需要将任务总体按一定规律分解成多个更小单元,顺序分配任务,之后借助其他单元/系统最终实现宏观上的“同时”
- 其他的单元/系统,包括:①个体内的其他单元②与个体紧密关联的工具与体系③其他同种个体、完全可独立按规律运行的系统
请着重注意:上述的方法论推演,基于的是生物学观察、科学道理以及考古证据支撑,代表着自然规律等客观事实的抽象,并不是空穴来风。依托该两大基本观点,包括人类在内的众多物种,依托自己具象的方式,实现了通过微观分别安排不同粒度的“顺序”作业,体现宏观“同时”的成就。而这样的方法论,则是并发思想的起源。