테스트 사이트 - 개발 중인 베타 버전입니다

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

· 2년 전 · 1089 · 2

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

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

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

[code]
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!');
}
[/code]

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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

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

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

여기 있군요.
2년 전
@더업스토리 자세한 설명 감사합니다.

게시글 목록

번호 제목
17523
17516
17515
17514
17498
17493
17490
17487
17485
17481
17478
17477
17474
17473
17472
17470
17469
17463
17462
17461
17460
17458
17457
17454
17453
17448
17447
17446
17445
17444