暗时间

–  December 20, 2009 Posted
 
      如果你有一台计算机,你装了一个系统之后就整天把它搁置在那里,你觉得这台计算机被实际使用了吗?
没有。因为CPU整天运行的就是空闲进程。运行空闲进程也是一天,运行大数据量计算的程序也是一天,
对于CPU来说同样的一天,价值却是完全不一样的。
大脑也是如此。
善于利用思维时间的人,可以无形中比别人多出很多时间,从而实际意义上能比别人多活很多年。我们经
常听说“心理年龄”这个词,思考得多的人,往往心理年龄更大。有人用10年才能领悟一个道理,因为他
们是被动领悟——只有在现实撞到他脸上的时候才感到疼,疼完了之后还是不记得时时提醒自己,结果很
快时过境迁抛之脑后,等到第二次遇到同一个坑的时候早忘了曾经跌过跟头了,像这样的效率,除非天天
摔坑里,否则遗忘的效率总是大过吃亏长的记性。善于利用思维时间的人则能够在重要的事情上时时主动
提醒自己,将临时的记忆变成硬编码的行为习惯。
每个人的手表都走得一样快,但每个人的生命却不是。衡量一个人生活了多少年,应该用思维时间来计算
。举一个极端的例子,如果一个人从生下来开始就呆在一个为他特殊建造的无菌保护室里,没有社会交往
,没有知识获取,度过了18年,你会不会认为他成年了?
认为时间对每个人是均等的是一个错觉,认为别人有一天,我也有一天,其实根本不是这样。如果你正在
学习一门专业,你使用自己所投入的天数来衡量,很容易会产生一种错觉,认为投入了不少时间,然而其
实,“投入时间”这个说法本身就是荒唐的,实际投入的是时间和效率的乘积。你可以“投入”很多时间
在一件事情上面,却发现毫无进展,因为你没有整天把你要做的事情,要学习的东西常驻在你的大脑中,
时刻给予它最高的优先级。你走路的时候吃饭的时候,做梦的时候心心念念想的就是这件事情,你的CPU
总是分配给它,这个时候你的思维时间就被利用到了极致,你投入的时间就真正等于了实际流逝的时间,
因为你的CPU是满载的。
如果你有做总结的习惯,你在度过一段时间之后总结自己在某某领域投入了多少时间,建议千万不要粗略
地去计算有多少天下班后拿起书来翻看过,因为这样你也许会发现书倒是常翻,但领悟却不见得多深,表
面上花的时间不少,收益却不见得那么大。因为看书并记住书中的东西只是记忆,并没有涉及推理,只有
靠推理才能深入理解一个事物,看到别人看不到的地方,这部分推理的过程就是你的思维时间,也是人一
生中占据一个显著比例的“暗时间”,你走路、买菜、洗脸洗手、坐公车、逛街、出游、吃饭、睡觉,所
有这些时间都可以成为“暗时间”,你可以充分利用这些时间进行思考,反刍和消化平时看和读的东西,
让你的认识能够脱离照本宣科的层面。这段时间看起来微不足道,但日积月累将会产生庞大的效应。
能够充分利用暗时间的人将无形中多出一大块生命,你也许会发现这样的人似乎玩得不比你少,看得不比
你多,但不知怎么的就是比你走得更远。比如我就经常发现一些国外的牛人们为什么不仅学习牛逼,连“
业余”玩儿的东东也都搞得特牛逼,一点都不业余(上次在《How We Decide》上看到斯坦福的一个牛人
,理论物理学博士,同时是世界扑克大赛的前六名保持者,迄今累计奖金拿了六百多万刀),你会奇怪,
这些家伙到底哪来的时间,居然可以在不止一个领域做到卓越?
程序员们都知道,任务切换需要耗费许多额外的花销,通俗地来讲,首先需要保存当前上下文以便下次能
够顺利切换回来,然后要加载目标任务的上下文。如果一个系统不停地在多个任务之间来回倒腾,就会耗
费大量的时间在上下文切换上,无形中浪费很多的时间。
相比之下,如果只做一件任务,就不会有此损失。这就是为什么专注的人比不专注的人时间利用效率高得
多的原因。任务切换的暗时间看似非常不明显,甚至很多人认为“多任务”是件很好的事情(有时候的确
是),但日积月累起来就会发现,消耗在切换上的时间越来越多。
另外,大脑开始一件任务的时候必须要有一定时间来“热身”,这个时间因人而异,并且可以通过练习来
改变。举个例子,你看了一会书之后,忽然感到一阵无聊,忍不住打开浏览器,十分钟后你想起来还要继
续看书,但要回复到当时理想的状态,却需要一段时间来努力去集中精力,把记忆中相关的知识全都激活
起来,从而才能进入“状态”,因为你上了十分钟网之后这些记忆已经被抑制了。如果这个“热身”状态
需要一刻钟,那么看似十分钟的上网闲逛其实就花费了二十五分钟。
如果阅读的例子还不够生动,对于程序员来说其实有更好的例子:你写程序写得正high,忽然被叫去开了
一通会,写到一半的代码搁在那儿。等你开完会回来你需要多久能够重新进入状态?又或者,你正在调试
程序,你已经花了二十分钟的时间把与这个bug可能相关的代码前前后后都理解了一遍,心中构建了一个
大致的地图,就在这时,呃,你又被叫去开了个会(:D),开完会回来,可想而知,得花上一些时间来回想
一下刚刚弄清的东西了。
迅速进入状态的能力是可以锻炼的,根据我个人的经验,至少可以缩短到3-5分钟。但要想完全进入状态
,却是很难在这么短的时间实现的。所谓完全进入状态,举个例子:你看了3个小时的书,或者调试了半
个小时的程序之后,往往满脑子都是相关的东西,所有这些知识都处在活跃状态,换言之你大脑中所有相
关的记忆神经网络都被激活了,要达到这样一种忘记时间流逝的“沉浸”状态(心理学上叫做“流体验”
),不是三两分钟的事情。而一旦这种状态被破坏,无形间效率就会大打折扣。这也是为什么我总是倾向
于创造大块的时间来阅读重要的东西,因为这样有利于“沉浸”进去,使得新知识可以和大脑中与其相关
的各种既有的知识充分融合,关联起来,后者对于深刻的记忆非常有帮助。
要充分利用暗时间,不仅要能够迅速进入状态,另一个很重要的习惯就是能够保持状态多久(思维体力)
。《The Psychology of Invention in the Mathematical Field》上有一段关于庞加莱的思考习惯的介
绍,很有代表性。庞加莱经常在去海边休假或者在路上走的时候在脑海中思索数学问题,很多时候解答就
在这些时候忽然闪现。虽然我和庞加莱是没法比的,但是常常也在路上想出答案,这真是一种愉悦的体验
能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最重要习惯。
很多人都有这样的体验(包括我自己),工作了之后,要处理的事情一下多出了很多,不像在校园,环境
简单,生活单纯,能够心无旁骛地做一件事情而不被打扰。工作之后的状况就是,首先需要处理的事情变
多,导致时不时需要在多个任务之间切换;另一方面,即便能够把任务的优先级分配得比较合理,也难免
在做一件事情的时候心中忽然想起另一件事还没做的焦虑来,因为没做完的事情会在大脑中留下一个“隐
藏的进程”,时不时地发个消息提醒你一下,中断你正在做的事情。
因此这里就涉及到最后一个高效的习惯:抗干扰。只有具备超强的抗干扰能力,才能有效地利用起前面提
到的种种暗时间。抗干扰能力也是可以练习出来的,上本科那会经常坐车,所以我就常常拿着本大部头在
车上看,坐着看或者站着看都可,事实证明在有干扰的环境中看书是非常锻炼专注能力的一个办法:D 另
外,经常利用各种碎片时间阅读和思考,对迅速集中注意力和保持注意力都非常有帮助。记得很久以前
TopLanguage上大伙曾经有次饶有兴趣地讨论“马桶时间”的利用,包括在卫生间放个小书柜。(估计很
多同学心有戚戚焉吧:D)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一份使用C语言编写的代码,可以在C51单片机上实现您的需求。请注意,以下代码是基于Keil C51编译器的,如果您使用的是其他编译器,请根据实际情况进行修改。 ```c #include <reg52.h> #include <intrins.h> #define LED_NUM 8 // LED数量 #define BLINK_TIMES 5 // 闪烁次数 sbit led0 = P1^0; // 定义LED引脚 void delay(unsigned int t) { // 延时函数 while (t--); } void lightOff(int pin) { // 灭掉一个LED switch (pin) { case 0: led0 = 1; break; // 其他LED的控制语句 default: break; } } void lightOn(int pin) { // 点亮一个LED switch (pin) { case 0: led0 = 0; break; // 其他LED的控制语句 default: break; } } // 从上至下依次灭 void turnOff() { int i; for (i = LED_NUM - 1; i >= 0; i--) { lightOff(i); delay(500); } } // 从上至下依次点亮 void turnOn() { int i; for (i = 0; i < LED_NUM; i++) { lightOn(i); delay(500); } } // 闪烁 void blink(int times) { int i, j; for (i = 0; i < times; i++) { for (j = 0; j < LED_NUM; j++) { lightOn(j); } delay(500); for (j = 0; j < LED_NUM; j++) { lightOff(j); } delay(500); } } void main() { int i, j; while (1) { // 全灭亮2s for (i = 0; i < LED_NUM; i++) { lightOff(i); } delay(2000); // 从上至下依次灭 for (i = LED_NUM - 1; i >= 0; i--) { lightOff(i); delay(500); } // 从上至下依次点亮 for (i = 0; i < LED_NUM; i++) { lightOn(i); delay(500); } // 闪烁5次 blink(BLINK_TIMES); // 从上至下依次点亮 for (i = 0; i < LED_NUM; i++) { lightOn(i); delay(500); } // 从上至下依次灭 for (i = LED_NUM - 1; i >= 0; i--) { lightOff(i); delay(500); } // 闪烁5次 blink(BLINK_TIMES); } } ``` 这段代码使用了51单片机的GPIO口来控制LED灯的亮灭,其中使用了P1口的引脚来控制LED。在代码中,需要根据实际电路连接情况修改`sbit`和引脚控制语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值