CPU集中型タスクにnodejsを使用しています。これは基本的に大量のデータを生成し、ファイルに格納します。私はそれが単一のタイプのデータのために生成されるように出力ファイルにデータをストリーミングしています。Nodejsスレッドを使用した並列プログラミング
目的:私は(その最高に私のマルチコアCPUを利用して)並列に複数の種類のデータについては、このデータを生成するタスクを作りたい.Withoutプロセスのそれぞれで提供.Thus独自のヒープメモリを持ちますプロセスメモリが大きくなり、実行速度が向上します。
私はこれは私が欲しいものを達成するかどうかわからないhandling.But video on meteor fibers by Chris Matherの一つで、最終的にすべてがある最後に言及しているとして、独自のコールバックのために meteor jsでも使用されているノード fibersを使用することを計画していたシングルスレッドおよびノードファイバーは、その機能を提供するために、何らかの形で同じ単一スレッドイベントループを管理します。だから、
、これは私がノードの繊維を使用する場合、私はこのように私のCPUコアを利用していない、 並行して、私のタスクを実行していることが文句を言わないことを
を意味するのでしょうか?
は、ノードwebworker-threadsがwebworkerスレッドは、このようにリアルタイムでマルチスレッドを提供し、 プロセス別々/パラレルCPU上で実行されます、と言っている I desire.Asはモジュールのホーム・ページに記載されて 機能を達成するために私を助けるいセンス?
最後の質問として、このようなCPU集約的なタスク ではnode.jsはお勧めできませんか?
注:私は、スレッドとして提示されている非同期コードの構造化LIBSを使用したくないが、作業が大幅にCPUを集中.Iがすでに使用している非同期能力があるとしてInfactはちょうど、同じ非同期コードの上にsyntatical砂糖を追加します〜まで
// Update 1の(クラスタのための答えに基づいて)私が直面したクラスタと
私はこれを言及するのを忘れて申し訳ありませんが、問題です:
複雑な量の負荷を分散します特定の並列タスクのセットが他の特定のタスクの前に実行されるようにするために、私は持っている作業を行います。クラスタが本当にthese lines on webworker-threads NPMホームページ
「イベントループをブロックすることはできません」問題はノードのイベント化モデルに固有のものであるに言及、私がやりたい場合は
わかりません。 Node-clusterとしていくつのNodeプロセスを実行しても、CPUバインドされたタスクの問題は解決しません。
.....どのような光がどのように役立つか。
更新された質問を見てください、残念ですが、このことを忘れてしまいました... – damitj07
これは、他のテクノロジと比較して、ノードでのマルチスレッド並列処理を提供するライブラリが存在しないことを意味しますか? – damitj07
人々の意見は非常に悪い考えです。 JavaScriptはそのために設計されていません。 – OrangeDog