JavaScript код в Node.js выполняется в одном потоке, но тяжёлые операции (I/O, сеть, диск) делегируются libuv, который использует thread pool (4 потока по умолчанию) и ОС-механизмы (epoll/kqueue). Пока один запрос ждёт ответа от базы данных, event loop обслуживает другие запросы. Поэтому Node.js отлично справляется с I/O-bound нагрузкой, но плохо с CPU-intensive задачами.
Почему Node.js называют single-threaded, но при этом он обрабатывает много запросов?
Middle
465 просмотровAFK Offer AI
Как реализовать JWT аутентификацию в Node.js?