У меня есть некоторые задачи, которые я хочу сделать в JS, которые являются ресурсоемкими. Для этого вопроса давайте предположим, что они представляют собой тяжелые вычисления, а не системный доступ. Теперь я хочу одновременно запускать задачи A, B и C и выполнять некоторую функцию D, когда это будет сделано.Параллельные задачи в Node.js
async library обеспечивает хорошие подмостки для этого:
async.parallel([A, B, C], D);
Если то, что я делаю это только расчеты, то это будет по-прежнему работать синхронно (если библиотека не ставят задачи на себя различные потоках, которые я ожидать не так). Как сделать это на самом деле параллельным? Что обычно делается с помощью асинхронного кода, чтобы не блокировать вызывающего абонента (при работе с NodeJS)? Это начинается с child process?
Я не действительно убедитесь, что вы должны использовать 'async.js'. JavaScript не имеет многопоточности, кроме WebWorkers. Я не думаю, что 'parallel()' на самом деле означает, что он выполняется многопоточным способом, он просто определяет зависимость между процессами. – Halcyon
Я думаю, что js является одиночным threadd –
Я не думаю, что это работает в nodejs (я думаю, вам нужно несколько процессов), но все равно проверьте это: http://adambom.github.io/parallel.js/ –