Как низкоуровневые операции распределяются по потокам? Есть в node.js Event Loop. А ещё в нём есть запросы к C++ библиотекам. Когда к библиотеке делается запрос, EL продолжает работу с другими событиями в стеке. Но как организуется одновременное выполнение библиотечных сервисов и основного цикла событий? Каждый запрос создаёт отдельный поток, или может создаётся актор под каждую службу, а может всеми службами заведует движок, который разово создаёт акторов по какой-то оптимизированной схеме?
Хочется глубже понять, как идёт работа с потоками на системном уровне. Также подойдут любые интересные решения на эту тему из серии "как могло бы быть".

21 Авг 2019 в 06:29
164 +1
1
Ответы
1

В Node.js каждый запрос к C++ библиотеке обычно обрабатывается в отдельном потоке с помощью механизма Worker Threads или Child Processes. Это позволяет изолировать выполнение библиотечных операций от основного цикла событий, чтобы он мог продолжать обрабатывать другие события без блокировки.

При этом каждый Worker Thread или Child Process может выполняться параллельно с основным циклом событий, что позволяет эффективно использовать многоядерные процессоры и улучшить производительность при выполнении тяжелых операций. В зависимости от характера работы с библиотекой, можно выбрать наиболее подходящий подход к распределению операций по потокам.

Также существуют различные подходы к управлению потоками и акторами, например, можно использовать пул потоков или акторов для эффективного распределения нагрузки и управления ресурсами. Движок приложения может оптимизировать создание и использование потоков и акторов в зависимости от текущей нагрузки и требований задач.

Возможны также различные инновационные решения на эту тему, например, использование асинхронных потоков или механизмов распределенных вычислений для управления выполнением операций в распределенной среде. Каждое решение имеет свои плюсы и минусы, и выбор оптимального способа зависит от конкретных требований и особенностей приложения.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 86 045 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир