我正在阅读一个 node.js 项目,其中包括子进程 https://nodejs.org/api/child_process.html图书馆。
子进程到底是什么?这是否类似于 javascript Web Worker?
在子进程中运行进程比简单地正常执行有什么优势?我假设这可以让你更多地访问内存?
例如,当您在 Linux 上运行终端(bash 进程)并执行命令时ls -lh /usr
,终端启动一个子进程ls
,写入stdout
当前目录中的所有文件。现在想象一下,您拥有的不是终端node.js
作为父进程。你可以生成/启动一个孩子ls
过程是这样的:
const spawn = require('child_process').spawn;
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
这是否类似于 javascript Web Worker?
它可能与 webworkers 类似,但我不知道 webworkers 是如何在浏览器中实现的。 AFAIKnode
没有开箱即用的 webworkers API。但如果你的子进程是node.js
进程,然后您可以查看该子进程类似于webworker
。看看这个集群API https://nodejs.org/api/cluster.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)