0

node.js プログラムで実行できるスレッドは 1 つだけです。

このスレッドがブロックされている場合、たとえば、キーボードからの入力を待機している場合でも、他のイベントに応答できますか?

イベント処理を分散するためのバックグラウンド イベント ループ スレッドはありますか?

4

1 に答える 1

1

このスレッドがブロックされている場合でも、他のイベントに応答できますか?

すぐに応答することはできませんが、最終的にブロックを終了したときに、これらのイベントがキューに入れられて処理されることを願っています。

イベント処理を分散するためのバックグラウンドイベントループスレッドはありますか?

バックグラウンドスレッドはありません。イベントは「メイン」(唯一の)スレッドによっても処理されます。

ルールは、node.jsでブロックしないことです。時間がかかる場合は、非同期コールバックを介して処理する必要があります。CPU負荷の高い操作を同時に実行する場合は、複数のプロセスを使用する必要があります(そして、非同期コールバックで結果を受け取ります)。

このすべての利点は、複数のスレッドの同期について心配する必要がないことです(スレッドが1つしかないため)。これにより、プログラミングがより安全になります(ただし、どこでもコールバックに慣れる必要があります)。

于 2012-12-21T01:25:24.207 に答える