3.5.7 worker_threads
노드에서 멀티 스레드 방식으로 작업하는 방법을 소개합니다. worker_threads 모듈로 가능합니다.
먼저 간단한 사용 방법을 알아보겠습니다.
worker_threads.js
const {
Worker, isMainThread, parentPort,
} = require('worker_threads');
if (isMainThread) { // 부모일 때
const worker = new Worker(__filename);
worker.on('message', message => console.log('from worker', message));
worker.on('exit', () => console.log('worker exit'));
worker.postMessage('ping');
} else { // 워커일 때
parentPort.on('message', (value) => {
console.log('from parent', value);
parentPort.postMessage('pong');
parentPort.close();
});
}