私はノードおよびExpressにはかなり新しいです、私はいくつかのCPUを作り、誰がリクエストを処理する際Expressのサーバーがどのように動作するかを説明し、私を少し与えることができれば、私は、サーバーたときに捕まってしまっただろうCALC重い要求は、簡単な例:
app.get("/", function(req, res){
// some long time math calculation in for loop or while to get data
res.json(data);
})
私は、ノードは、タスクがトリガーされたイベントループベースの単一のプロセスであり、それが終了した場合、タスクはスレッドプールに入れられますが、この1つのプロセスが求め続けると思いました私の例では、私はapp.getがそのプールにハンドラ関数タスクを置いて他のリクエストを待つことができると思っていましたが、残念なことにそれはその場ではうまくいかないようですt道。
これはapp.getでどのくらい正確に機能し、この重い計算タスクをどのように分けて、このリクエストハンドラが他のリクエストを待っているのですか?
任意の例では、ブラウザのJavaScriptのように、シングルスレッドで、
おかげ
メインスレッドで重い計算をしないでください、ノードクラスタを使用してください! – Ali