1

私は、V8はマルチスレッドではなく、設計によるものではないことを読んでいました。

これは本当ですか?(node.jsで)同時に実行するようにスクリプトを最適化できるのに、同時実行性を複数のプロセッサーに拡張できないのは本当ですか?それがコンカレントデザインの主な理由だと思いました。

4

4 に答える 4

3

Node v0.8 以降では、https://github.com/audreyt/node-webworker-threadsモジュールが同じ Web Worker API を提供するようになりました。これは、マルチコア スケジューリングを目的としたネイティブ スレッドで実装され、シリアライゼーションとワーカーの作成が少なくなります。プロセスベースの node-worker モジュールと比較したオーバーヘッド。

于 2012-11-22T00:02:18.200 に答える
1

node.jsに関しては、並行ではなく非同期です。node.js のすべての IO を処理する 1 つのスレッドと 1 つのイベント ループがあります。

node.js には並行性のためのツールがいくつかありますが、それらは主に複数のプロセスを中心に展開します。しかし、すべての node.js と同様に、これらは開発の初期段階にあります。たとえば、fugueを使用して複数のワーカー プロセスを管理したり、 node-workerを使用しておなじみのWeb ワーカーAPI を使用したりできます。

于 2010-11-05T08:15:34.997 に答える
0

実行時間の制限を参照してください。それは可能ですが、Javaと言うほど簡単である可能性がどれほどあるかはわかりません。

于 2010-10-29T02:43:22.590 に答える
0

v0.6からクラスタ機能が使えるようになりました。

個別のノード プロセス間の通信にはオーバーヘッドが発生します。このため、v8 分離のサポートが検討されていましたが、最終的には不十分な改善と複雑さのトレードオフのために追求されませんでした。

(v8 分離により、プロセスの代わりにスレッドを使用できるようになり、より効率的な通信が可能になります。)

于 2012-02-09T17:18:01.563 に答える