Node.js只使用一个线程,异步坏了吗?

时间:2015-09-07 00:21:49

标签: javascript node.js multithreading asynchronous

我听说MongoDB和其他Node.js程序运行速度快的原因是因为它们同时使用异步执行所有操作,但是当我运行Node程序时,我只在系统上看到一个线程。怎么了?他们还没有完成这个功能吗?如果没有,这怎么可能比PHP / Apache更快,他们将运行多个线程而不是浪费系统资源闲置?

3 个答案:

答案 0 :(得分:1)

async与多线程不同。这是两件不同的事情。

异步意味着线程在执行其他操作之前不需要等待函数调用的响应。但是,您可以将异步与多线程混合,但这并不意味着它们是相同的。

答案 1 :(得分:1)

异步编程并不一定意味着多线程。

异步仅意味着数据可以间歇性传输而不是稳定传输。

例如,Javascript是一个使用异步通信的单线程运行时。

答案 2 :(得分:0)

您也可以在node.js中拥有multiple processes和/或workers