Skip to main content

nodejs 中 Fork 是什么?

是什么

Fork 是 Node.js 子流程 child_process 模块提供方法执行外部应用的异步方法,调用这个方法会返回一个对象,这对象是 ChildProcess 类的实例。

怎么做

和分叉的 NodeJS 模块通信

约定:主进程标识为 father,子进程标识为 child。

father.js 代码:

var cp = require('child_process')
// 创建子进程、发子进程发一条消息;
var child = cp.fork('./child')
// 当收到子进程发来的消息时,输出消息。
child.on('message',(msg)=>{
console.log('father get msg:',msg);
})

child.send('msg from father')

child.js 代码:

// 发送一条消息给进程;
process.send('msg from child')
// 当收到父进程消息时,输出消息。
process.on('message',(msg)=>{
console.log('child get msg',msg)
})

可看到父进程和子进程互通消息成功。

注:进程间发送数据的类型不会丢失,比如发送 JSON 值,收到的也是 JSON 值,不会变成字符串。

参考文章

  1. 怎么做:实现方法是遇到标题就用 h1 到 h6,遇到段落用 p,遇到文章用 article,主要内容用 main,边栏用 aside,导航用 nav……(就是找到中文对应的英文)
  2. 解决了什么问题:明确了 HTML 的书写规范
  3. 优点是:一、适合搜索引擎检索;二、适合人类阅读,利于团队维护。
  4. 缺点是:没有。
  5. 怎么解决缺点:无需解决。