Node.js只使用一个线程,是异步中断的

Node.js only uses one thread, is async broken?

本文关键字:线程 一个 异步 中断 js Node      更新时间:2023-09-26

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

异步与多线程不同。这是两码事。

异步意味着线程在做其他事情之前不需要等待函数调用的响应。然而,你可以将异步与多线程混合,但这并不意味着它们是相同的。

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

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

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

node.js中也可以有多个进程和/或worker