多线程最近这几年来成为一个人们所津津乐道的词汇,似乎给数字上无法提升的计算机系统打上了一剂强心针。双cpu,一芯多核,超线程,这种各样的技术让人们盲目的相信,我们的计算机是越来越快了。
但实际上,任何一项计算机执行的指令的运算速度,在不考虑缓存,内存寻址,这些瓶颈的问题上,其实这些年来从来都没有真正意义上的上升过。所谓什么多核只不过因为人们喜欢同时又干这又干那的,多管齐下,几乎让人不会去怀疑的觉得,这总不会慢吧。
当今电脑技术进步趋向,让我不禁想到,这其实真是越来越把电脑当作现在的人脑在进化。越到当今这社会,人们一时间面对的事情真得是越来越多。作为一个现代社会的一般人,人要懂计算机,理财观念,人际交流技能,生活自理的能力,没准还需要电器常识,懂的开车修车,还有两门语言,演讲才能,身体也不能差,还要有对新闻时事的有所了解,太多太多,换作40年前的人可能所有这些的一半可能都不需要。
人们不得不开始使用多线程的思考方式来生活,一边看电影一边发短信,一边上厕所一边读小说,一边写文稿一边查邮件,或许列举的这些都还是些小事,有的时候也确实看上去省了不少时间。但是这样的思考方式慢慢已经形成了,一时间干多点事总是好的。
但这样真得高效么?就算是电脑,所谓一机多核根本就没有解决几倍的效率的提升,说白了,无非就是多利用点人在上厕所的时间而已。人脑作为一个复杂的多的指令系统,在同时处理两件不相关的事情上更是将效率降的极点,不信的话可以试试左手画圈右手画圆。若真要实现这人脑的单线程那给重复单一的动作多少时间,等真能让人一手画圈,一手画圆,人家用单手一次一步的把这两样东西做好,都可以等你几个星期了。
遇到更复杂的问题,多线程在人脑里几乎是不可能的,不可能想象一个人一边解决一个逻辑复杂的数学问题,还能思考今天晚上吃什么。而这个时候,不是能不能做到多线程的问题,而是如何去掉无关的线程,指望最高效的单线程能够真正走得通。
想法是简单的,人脑不是多线程的机器。时刻将脑子的线程数缩小的最少,才能真正让人脑发挥最大的作用。能够真正贯彻这个想法,真的不是件容易的事。
附记:写这篇文章的时候在煮面条,结果把水给烧干了,还给从新做~~~

