【问题标题】:Node.js only uses one thread, is async broken? [duplicate]Node.js 只使用一个线程,异步被破坏了吗? [复制]
【发布时间】:2015-12-02 11:23:34
【问题描述】:

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

【问题讨论】:

标签: javascript node.js multithreading asynchronous


【解决方案1】:

您也可以在 node.js 中使用 multiple processes 和/或 workers

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      异步与多线程不同。这是两个不同的东西。

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

      【讨论】:

        猜你喜欢
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 2021-05-17
        相关资源
        最近更新 更多