Node.js решает проблему "Один поток для каждого подключения", помещая основанную на события модель в своей основе, используя цикл событий вместо потоков. Все дорогостоящие операции ввода-вывода всегда выполняются асинхронно с обратным вызовом, который запускается, когда завершенная операция завершается.
Наблюдение, если любая операция происходит, обрабатывается механизмами мультиплексирования, такими как epoll().
Мой вопрос:
-
Почему NodeJS блокируется при использовании блокировки Systemcalls выбрать /Epoll/Kqueue?
-
Или нет NodeJS Single Threaded вообще, так что второй поток - это необходимо наблюдать все операции ввода-вывода с помощью select/epoll/kqueue?