이 질문은 webworker-threads
node.js module에 관한 것입니다.webworker-threads를 사용하는 Node.js의 동시성
webworker-threads
모듈의 설명서는 매우 제한되어 있으며 목표를 달성하는 방법에 대한 새롭고 친숙한 예제를 찾을 수 없습니다.
간단히 말해서, 두 개의 CPU 집중 기능이 동시에 실행되어야하며 결과를 반환하고 완료되면 바로 인쇄해야합니다.
는 내가 달성하기 위해 노력하고있어 이것이다 : 이러한 동기 방법이 차단되기 때문에, 내 현재의 모델이있다
내가 더 전문가는 아니지만 및 그러나 내가 할 수있는 webworker-threads 모듈의 Readme.md에 제공된 정보를 저의 상황으로 번역하는 일에 제 머리를 기울이지 마십시오.
나의 현재 해킹-작업 코드는 다음과 같습니다
var Worker = require('webworker-threads').Worker;
//console.time("worker1");
var worker = new Worker(function(){
onmessage = function(event) {
postMessage(event.data);
self.close();
};
});
worker.onmessage = function(event) {
console.log("Worker1 said : " + event.data);
};
worker.postMessage(work());
//console.timeEnd("worker1")
//console.time("worker2");
var worker2 = new Worker(function(){
onmessage = function(event) {
postMessage(event.data);
self.close();
};
});
worker2.onmessage = function(event) {
console.log("Worker2 said : " + event.data);
};
worker2.postMessage(work2());
//console.timeEnd("worker2")
function work(){
var total = 0;
for (var i=0; i<430046534; i++){
total += (i*i*i);
}
return total;
}
function work2(){
var total = 0;
for (var i=0; i<630746533; i++){
total += (i*i*i);
}
return total;
}
그러나 슬프게도, 결과에만 두 번째 작업자가 완료 콘솔에 인쇄하고, 나는이를 사용하고도 확실하지 않다 모듈을 올바르게 설치하십시오.