2010-10-29 52 views
1

我讀到的是V8不是多線程的,不能通過設計。帶有v8和node.js的多處理器

這是真的嗎?實際上,我可以將腳本優化爲同時運行(在node.js上),但併發性不能擴展到多個處理器?我有點認爲這是併發設計的主要原因。

回答

1

至於node.js,它不是併發的而是異步的。有一個線程和一個事件循環,用於處理node.js中的所有IO。

node.js中有一些併發的工具,主要圍繞多個進程。但是像所有的node.js一樣,它們處於開發的早期階段。例如,您可以使用fugue管理多個工作進程,也可以使用可能熟悉的Web Workers API使用node-worker

0

既然v0.6可以使用cluster facility

單獨節點進程之間的通信會產生一些開銷,因此,v8 isolates的支持已經考慮了一段時間,但由於改進和複雜性的權衡不足,最終導致的結果爲not pursued

(V8的菌株將使使用線程而不是過程的,從而允許更高效的通信。)