最後の 2 行は 1 と 5 です。
http.ServerResponseオブジェクトはstream.Writable(書き込み可能なストリーム)を実装していると本に書いてあります。ただし、書き込み可能なストリームは一般に非同期 (fs 書き込みストリーム、zlib ストリーム、サブプロセスの stdin など) であり、イベント駆動型サービス モデルに最適です。ここで私がテストしたのは res.write 同期です。これは、イベント キュー内の次のコールバックを実行する前に、このコールバックを実行する必要があることを意味します。
function(req,res) は ruquest イベントのコールバックです。つまり、数万の同時リクエストを処理する場合、たとえfunction(req,res) に CPU がありません 集中的なアプリケーションが積み重なると、ユーザー アクセスに遅延が生じることを意味しませんか?しかし、ノードは集中的な IO の処理に非常に優れています?私の考えが間違っていたでしょうか?
js はシングルスレッドであり、CPU を集中的に使用するビジネスの処理が苦手なため、この show 関数を意図的に作成しました。そのため、 res.write(show() '' c) の方が時間がかかり、見栄えが良くなります。 write asynchronous? if res.write が非同期の場合、c=a b が最初に実行されます; then c は 5 でなければなりません;
伊谢尔伦2017-05-31 10:40:35
ノードの利点は、高い同時実行性を処理でき、大量のリクエストを処理できることですが、response.write の処理やデータベースのクエリの操作は、レストランと同じように、シェフとウェイターがいる別のスレッドによって処理されます。 (シングルスレッド)、1人のシェフとパートタイムのウェイターしかいない一般的なWebサービスフレームワークとは異なり、
つまり、上記の状況は集中的なIOではありませんが、レストランのシェフが忙しすぎて料理を扱うことができないため、ウェイターはゆっくりと料理を提供します。