Sobes.tech
Back to questions
Middle+
6

Приходилось ли вам работать с Worker Threads в Node.js?

Companies where asked
Ifellow

Answer from AI

sobes.tech AI

Worker Threads в Node.js используются для выполнения CPU-интенсивных задач в отдельных потоках, чтобы не блокировать главный event loop. Это особенно полезно, когда нужно параллельно обрабатывать тяжелые вычисления или операции, не связанные с асинхронным вводом-выводом.

Пример создания и использования Worker Thread:

const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
  const worker = new Worker(__filename);
  worker.on('message', (msg) => console.log(`Результат из воркера: ${msg}`));
  worker.postMessage('Начать работу');
} else {
  parentPort.on('message', (msg) => {
    // Выполнение тяжелой задачи
    let result = 0;
    for (let i = 0; i < 1e9; i++) {
      result += i;
    }
    parentPort.postMessage(result);
  });
}

Таким образом, Worker Threads позволяют эффективно распараллеливать задачи, улучшая производительность приложений на Node.js.