我听说MongoDB和其他Node.js程序运行速度快的原因是因为它们同时使用异步执行所有操作,但是当我运行Node程序时,我只在系统上看到一个线程。怎么了?他们还没有完成这个功能吗?如果没有,这怎么可能比PHP / Apache更快,他们将运行多个线程而不是浪费系统资源闲置?
答案 0 :(得分:1)
async与多线程不同。这是两件不同的事情。
异步意味着线程在执行其他操作之前不需要等待函数调用的响应。但是,您可以将异步与多线程混合,但这并不意味着它们是相同的。
答案 1 :(得分:1)
异步编程并不一定意味着多线程。
异步仅意味着数据可以间歇性传输而不是稳定传输。
例如,Javascript是一个使用异步通信的单线程运行时。
答案 2 :(得分:0)
您也可以在node.js中拥有multiple processes和/或workers。