Node.jsPytanie 03 z 26
Jak Node obsługuje wiele requestów skoro jest single-threaded?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Ponieważ większość pracy serwerowej to I/O:
database
network
filesystem
APINode nie musi blokować głównego wątku w oczekiwaniu na zakończenie tych operacji.
Przykładowo:
JavaScript
const data = await db.find();W trakcie oczekiwania event loop może obsługiwać inne requesty.
Nie oznacza to jednak, że wszystko w Node działa jednym fizycznym wątkiem. Node/libuv może wykorzystywać dodatkowy thread pool.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.