关于Node.js的性能和阻塞IO的问题
看到的教程上说Node.js是阻塞式IO的,而且是单线程执行,想问一下这样的方式对Node.js的性能没有影响么?如果和php相比性能谁分高下?
最后吐槽一下没有多线程的Javascript解释器么。
3 回复
想问一下,‘Node.js是阻塞式IO’,你是在哪里看到的?
Node.js是基于Event loop的,事件和非同步执行的函数是在一个线程中执行的,I/O等会在其他线程中运行直到等到结束时才会触发时间调用函数。好处就是:没有额外线程的开销,没有锁,也不会有死锁。缺点就是:如果一个函数执行时间,后面的函数就需要等待,因为跑完一个才执另外一个,还就就是才多核处理器的应用上优缺点,有段时间没关注了,不知解决了没有。 node.js是为了解决apache在连接数过高的情况下,资源可能被耗尽的问题而产生的。