2015-09-29 20:18 "@luda"的内容
nodejs应该会有个管理和排队所有事件的队列,它每次执行了一个过程得到返回后都去队事件队列里去出队一个事件消息然后传入对应的回调函数中去,这里就像是发布订阅模式,而这个回调函数则是那个消息的唯一订阅者。它这样每次得到一个过程的返回后就到事 ...
这一段修正为更精确的表述:nodejs应该会有个管理和排队所有事件的队列,它每次执行了一个过程得到返回后,这个返回如果不是void而且有人声称将要回调它(消费它)的话就把这个返回值连同回调方法的地址一起入队到队列尾(这是一种组合了这个返回值和对应的回调方法的结构体,这个结构体可以被称作事件),然后去事件队列头去出队一个事件消息然后传入对应的回调函数中去,这里就像是发布订阅模式,而这个回调函数则是那个消息的唯一订阅者。它这样每次得到一个过程的返回后就到事件队列那里走一趟,每次都会经过同一个位置绕一圈然后进入一个新的圈,看起来像周期、像轮训。
注意:虽然回调函数是唯一订阅者,但是这个回调方法里面可以有很多行过程调用,比如有
alert(result.Id);
showResult(result);
这样两行代码,这两行代码又开启了两个新的过程,这两个新过程都能访问(消费)回调方法传入的result。
红色线是计算机的cpu在资源空间中走过的路径。像什么?孢子?植物?动物?大分子?原子……那个cpu就是我们,是我们在这个世界中行走。我突然发现我们走的居然一直都是这么自然。
每一个椭圆是一个子过程,有可能这跟星空和原子的那种椭圆运动是一回事,在我们看起来是个椭圆,其实有可能是个栈的出入队。
想象力比知识更重要,身在庐山中的程序员不利于发挥对庐山的想象力。只有庐山外的人在未进入庐山之前才会有更多的想象力。
我们在计算机这个领域肯定是会比其它领域的人知识更多,但我们对这个领域的想象力可能会不如旁领域的人多。但我们对旁领域的想象力有可能会多于他们。
如果身在庐山中还能保持对庐山的想象力,或者能够把对庐山之外的事物的想象力基于某种对应的分形能力对应到庐山内的话。那么这样的人是圣人。
想象力不是随机的瞎想,而是走的连续的线。以永远不相信“一个人可以在同一时刻出现在不同的地点”为基础展开想象力。得能使用连续解释随机,以此为出发点进行想象,否则就是瞎想。永远不要相信同一个人可以在同一时刻出现在不同的地方。量子力学并没有说过一个人可以在同一时刻出现在不同的地点。