2015-09-07 48 views
-1

我聽說MongoDB和其他Node.js程序速度很快的原因是因爲它們與異步同時執行所有操作,但是當我運行一個Node程序時,我只能在系統上看到一個線程。怎麼了?他們還沒有完成這個功能嗎?如果沒有,這怎麼可能比PHP/Apache更快,他們將運行許多線程,而不是浪費系統資源閒置?Node.js只使用一個線程,是異步破壞?

+1

線程與異步無關。你需要閱讀http://blog.slaks.net/2014-12-23/parallelism-async-threading-explained/ – SLaks

+0

我確實很喜歡這個問題。 –

回答

1

異步與多線程不一樣。這是兩件不同的事情。

異步是指線程在做其他事情之前不需要等待函數調用的響應。但是,您可以將異步與多線程混合使用,但這並不意味着它們是相同的。

1

異步編程並不一定意味着多線程。

異步只意味着數據可以間歇性地傳輸,而不是穩定的數據流。

例如,Javascript是一個使用異步通信的單線程運行時。