/ / Чи блокування вузлів волокон? - javascript, node.js, асинхронні, io, вузлові волокна

Вузькі волокна блокуються? - javascript, node.js, асинхронний, io, вузол-волокон

Якщо ви виконуєте інтенсивне завдання введення-виведення в Node.js, наприклад, деякі операції бази даних async, використовуйте вузлові волокна, це блокування?

Я не використовував вузлових волокон ще б / с здається, що- якщо використовується в коді, який обробляє HTTP-запит, в якому виконується деякий довгий нормально-неблокуючий код введення-виведення - тепер він запобігає доступу інших запитів до вашої програми. Це правда чи ні? Трохи докладно розповісти про те, чому це правда / невірно.

Відповіді:

1 для відповіді № 1

Волокна дозволяють програмісту писати "ниткоподібні"код блокування-заяви JavaScript. Але її реалізація не блокує, код еквівалентний коду асинхронних подій node.js. Реалізація Laverdets призупиняє виконання волокон в певний момент, подібно до моделі async node.js, і може бути відновлена ​​пізніше.

Волокна більше синтаксичного цукру, їх немаєзмінити асинхронну модель node.js. Єдина відмінність полягає в тому, що волокна створюють різні стеки виконання (якщо я правильний), що є незначним навантаженням на нормальний код async nodejs.