노드로 멀티스레드 기능 구현하기
노드는 단일 프로세스이므로 멀티스레드기능을 구현하려면 다음과 같이 할수 있습니다.
노드(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
여기 있군요.
반쪽짜리 코드를 가지고 뭘 해볼수가 없네요.
찾아보니 전체 코드는
https://inpa.tistory.com/entry/NODE-%F0%9F%93%9A-workerthreads-%EB%AA%A8%EB%93%88
여기 있군요.
빅클린코드
2년 전
@더업스토리 자세한 설명 감사합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 16801 | |
| 16798 | |
| 16796 | |
| 16795 | |
| 16791 | |
| 16790 | |
| 16785 | |
| 16777 | |
| 16776 | |
| 16766 | |
| 16760 | |
| 16759 |
JavaScript
전화번호 및 휴대번호 자동하이픈(-)
2
|
| 16740 | |
| 16737 | |
| 16735 | |
| 16728 | |
| 16713 |
PHP
PHP Router
17
|
| 16700 | |
| 16691 | |
| 16669 | |
| 16668 |
MySQL
특정 row의 index 값 구하기
5
|
| 16660 | |
| 16655 | |
| 16654 | |
| 16647 | |
| 16639 | |
| 16637 | |
| 16634 | |
| 16629 | |
| 16620 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기