2015-05-26 32 views
0

免責聲明,我的Node.js知識幾篇文章主要由該http://en.wikipedia.org/wiki/Node.jsnode.js的缺點?

也就是說總結,所以我的理解是,它應該是非常快的,因爲它避免了線程的開銷。它將所有內容放到一個單一的循環中,而不是在進程之間切換的開銷。

我假設有一個原因,爲什麼有一個複雜的方法完全切換線程之間的上下文。我的問題是,有什麼線程優於node.js方法的好處?

+0

這是非常接近主題。我建議重新措詞一下(即'有什麼好處......'),直到有人出現一些更明顯的情況並標記你:) – Qix

+0

咦? 「什麼是好處...」和「有什麼缺點...」有什麼區別? –

+0

什麼都沒有;他們都很容易被誤解爲脫離主題(基於意見)。 – Qix

回答

2

由於IO事件模型完美支持IO延遲,因此Node.js在IO密集型任務中速度非常快。另一方面,如果不停止一切,它完全不能完成CPU密集型任務。因此,如果你需要一些繁重的計算,你會想讓一個工人爲你做。

無論線程在做什麼,線程化模型都會自動切換上下文,從而可以處理CPU密集型作業,而不會對其他線程產生負面影響。 (或者說,他們仍然可以工作,只有在CPU容量達到時纔會工作。)