Worker Threads란
Node.js의 이벤트 루프를 차단하지 않고 CPU 집약적 작업을 별도 스레드에서 실행합니다.
기본 사용법
// main.js
import { Worker } from "worker_threads";
function runWorker(data) {
return new Promise((resolve, reject) => {
const worker = new Worker("./worker.js", { workerData: data });
worker.on("message", resolve);
worker.on("error", reject);
});
}
// worker.js
import { parentPort, workerData } from "worker_threads";
const result = heavyComputation(workerData);
parentPort.postMessage(result);워커 풀
매번 워커를 생성하면 비용이 큽니다. workerpool 패키지로 풀을 관리하세요.
댓글 0