Subprocess Worker
Subprocess
Parent/Child communication
///////////// parent
const cp = require('child_process');
const n = cp.fork(`${__dirname}/child.js`);
n.on('message', (m) => {
console.log('PARENT got message:', m);
});
// Causes the child to print: CHILD got message: { hello: 'world' }
n.send({ hello: 'world' });
///////////// child
process.on('message', (m) => {
console.log('CHILD got message:', m);
});
// Causes the parent to print: PARENT got message: { foo: 'bar', baz: null }
process.send({ foo: 'bar', baz: NaN });Worker
///////////// main thread
const {Worker} = require("worker_threads");
//Create new worker
const worker = new Worker("./worker.js", {workerData: {num: num}});
//Listen for a message from worker
worker.once("message", result => {
console.log(`${num}th Fibonacci Number: ${result}`);
});
///////////// worker.js
const {parentPort, workerData} = require("worker_threads");
parentPort.postMessage(getFib(workerData.num))