Я прочитал много статей о том, как работает NodeJs. Но я все еще не могу точно понять, как внутренние потоки Nodejs выполняют операции ввода-вывода.Как работает внутренний поток Nodejs?
В этом ответе https://stackoverflow.com/a/20346545/1813428 он сказал, что в пуле потоков NodeJs имеется 4 внутренних потока для обработки операций ввода-вывода. Итак, что, если у меня есть 1000 запросов, поступающих в одно и то же время, каждый запрос хочет выполнять операции ввода-вывода, такие как извлечение огромных данных из базы данных. NodeJs доставляет этот запрос этим 4 рабочим потокам, соответственно, без блокировки основного потока. Таким образом, максимальное количество операций ввода-вывода, которые NodeJs может обрабатывать одновременно, - это 4 операции. Я ошибаюсь?.
Если я прав, где будут обрабатываться остальные запросы ?. Основной единственный поток не блокирует и продолжает вести запрос к соответствующим операторам, поэтому, где эти запросы будут отправляться, пока весь рабочий поток будет заполнен задачей? ,
На изображении ниже все внутренние рабочие потоки полны заданий, предполагая, что все они нуждаются в извлечения большого количества данных из базы данных, а основная отдельная нить продолжает возбуждать новые запросы к этим работникам, где будут ли эти просьбы идти? У него есть внутренняя задача для хранения этих запросов?
Насколько вам комфортно с C или C++? – slebetman