atry 可以黑一下 node.js 么?

赖勇浩

来自: 赖勇浩(纸上得来终觉浅,绝知此事须躬行) 组长
2013-02-17 17:50:23

×
加入小组后即可参加投票
  • 杨博

    杨博 (╭ ̄▽ ̄)╭ 豆邮(1) 2013-02-17 23:44:26

    node.js的特色是单线程异步模型。这种模型显而易见的问题就是会造成callback hell。callback hell可以靠CPS转换来破,具体办法看我博客(http://www.ac.net.blog.163.com/blog/static/13649056201210173259510/)。 但另一个问题就不那么显而易见了,即使有了CPS转换,如果执行耗时操作,会导致公平性问题。参见Haxe作者的博文“Is NodeJS Wrong?”(http://ncannasse.fr/blog/is_nodejs_wrong)。不过如果你能保证你所有代码都不调用阻塞函数,也不执行CPU密集运算,那你倒是可以无视这个问题。 为什么Erlang是世上最靠谱的并发语言呢?这当然是因为Erlang有轻量级进程,不需要用CPS转换之类的怪招去模拟执行多线程。此外更是因为Erlang为进程提供了调度器,避免了公平性问题。 顺便说一下,这种调度器除了解决公平性问题,还是实施Let It Crash的基础。之前黑akka的actor时提到过(http://www.douban.com/group/topic/36511309/#431943661)。

  • Liutos

    Liutos (fun: https://liutos.github.io) 2013-02-18 09:30:19

    凡是赞Erlang的都要大力赞~\(≧▽≦)/~

你的回应

回应请先 , 或 注册

338 人聚集在这个小组

最新讨论  ( 更多 )

↑回顶部