Блокировка узловных волокон?
-
13-12-2019 - |
Вопрос
Если вы запускаете интенсивное задание ввода / вывода в Node.js, вроде некоторой операции базы данных Async, используя Узел-волокна , это блокировка?
Я еще не использовал узел-волокна, но B / C, похоже, - если используется в коде, который обрабатывает HTTP-запрос, в котором работает какой-то длинный нормально-неблокирующий код ввода / вывода - он будет предотвращать быДругие запросы доступа к вашему приложению.Это правда или нет?Немного подробно, почему это правда / false будет очень полезным.
Решение
Волокна позволяют программисту написать «подобную нити» блокировки-оператора JavaScript код JavaScript.Но это реализация не блокирует, код эквивалентен Node.js Async Code Code.Реализация LaversSets приостанавливает выполнение волокна в какой-то момент, вполне нравится модель Async Node.js, и может быть возобновлена в более позднее время.
Волокна- это больше синтаксического сахара, они не меняют Node.js async модель.Единственное отличие состоит в том, что волокна создают разные стеки выполнения (если я правильно), что является легким накладным расходом на нормальный код Async.