我正在从节点内部执行processing.pde脚本,并且希望尽可能提高CPU效率。该脚本无限期运行,并且我不需要在不同进程之间传递值。
由于我必须等待另一个任务完成才能开始处理,因此在App.js中,我等待其他事情完成。然后,我在回调函数中使用child_process.exec()
启动它。
baz(foo, () => {
exec('cli command launching processing',
(error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
});
这很好,但是我想知道这是否意味着处理将真正在另一个线程上运行,或者该解决方案是否更有意义:
app.js
baz(foo, () => {
fork('./src/processingStart.js');
});
processingStart.js
exec('cli command launching processing',
(error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
这里有点触及:https://stackoverflow.com/a/52067139,但我还是有些困惑。