노드로 멀티스레드 기능 구현하기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

노드로 멀티스레드 기능 구현하기 정보

node.js 노드로 멀티스레드 기능 구현하기

본문

노드는 단일 프로세스이므로 멀티스레드기능을 구현하려면 다음과 같이 할수 있습니다.

노드(Node.js)에서 제공하는 내장 모듈인 'worker_threads'를 사용할 수 있습니다. 이 모듈을 사용하면 멀티스레드 환경에서 동시에 여러 작업을 처리할 수 있습니다.

아래는 간단한 예제 코드입니다.


const { Worker, isMainThread, parentPort, workerData } = require('worker_threads');
if (isMainThread) {
// 메인 스레드에서 실행할 로직
const worker = new Worker(__filename, {
workerData: 'Hello, worker!',
});
worker.on('message', (message)
=> {
console.log(`Worker: ${message}`);
});
} else {
// 워커 스레드에서 실행할 로직
const workerData = workerData;
console.log(`Main: ${workerData}`);
// 작업 완료 후 메시지 전송
parentPort.postMessage('Hello, main!');
}


이 예제에서는 메인 스레드에서 워커 스레드를 생성하고, 워커 스레드에서 작업을 처리한 후 메시지를 메인 스레드로 전송합니다. 이렇게 하면 멀티스레드 환경에서 작업을 분산하여 처리할 수 있습니다.
추천
0
  • 복사

댓글 2개

간단한 코드면, Worker 도 알려주세요.
반쪽짜리 코드를 가지고 뭘 해볼수가 없네요.

찾아보니 전체 코드는
https://inpa.tistory.com/entry/NODE-%F0%9F%93%9A-workerthreads-%EB%AA%A8%EB%93%88

여기 있군요.
© SIRSOFT
현재 페이지 제일 처음으로