NodeJS父进程与子进程资源共享步骤详解

这次给大家带来NodeJS父进程与子进程资源共享步骤详解,NodeJS父进程与子进程资源共享的注意事项有哪些,下面就是实战案例,一起来看一下。

实验目标:实现父进程与子进程间资源共享

使用模块:cluster

注意事项:建立node集群,实现多进程,利用child_process来实现IPC,解决多核利用率,提高性能。

原理:

1 Master-worker主从模式的多进程架构

2 fork()复制进程,充分利用cpu资源(根据内核数决定)

3 每个进程都有自己的区域,如果在各自区域内执行操作,资源并未共享。通过监听message注意事项和send实现消息传递,达到资源共享的效果

4  globalDataError为错误的资源共享方式, globalDataSuccess为正确的资源共享方式。

实现代码:

var cluster = require('cluster');var cpus = require('os').cpus();// 传递的事件名var triggerEvent = {    inc: 'inc',    dec: 'dec'}// 错误的数据共享方式var globalDataError = 0;if (cluster.isMaster) {  // 正确的数据共享方式  var globalDataSuccess = 0;  globalDataError++;  // 启动多个进程,取决于内核数  for (var i = 0; i < cpus.length; i++) {    var worker = cluster.fork();    worker.on('message', function(msg) {      switch (msg) {        case triggerEvent.inc:          globalDataSuccess++;          console.log('globalDataSuccess = ', globalDataSuccess);          break;        case triggerEvent.dec:          globalDataSuccess--;          console.log('globalDataSuccess = ', globalDataSuccess);          break;      }    });  }  console.log('Master globalDataError = ', globalDataError);} else {  globalDataError++;  console.log('Worker globalDataError = ', globalDataError);  process.send(triggerEvent.dec);  process.send(triggerEvent.inc);}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

以上就是NodeJS父进程与子进程资源共享步骤详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2762700.html

(0)
上一篇 2025年3月8日 09:59:42
下一篇 2025年2月27日 04:52:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js中存储键值对使用详解

    这次给大家带来js中存储键值对使用详解,js中存储键值对使用的注意事项有哪些,下面就是实战案例,一起来看一下。 重点内容 var map={ key1:’abc’, key2:’def’};$(document).ready(functio…

    编程技术 2025年3月8日
    200
  • 键值字符串转为json字符串步骤详解

    这次给大家带来键值字符串转为json字符串步骤详解,键值字符串转为json字符串的注意事项有哪些,下面就是实战案例,一起来看一下。 要转化的键值对字符 var respDesc=“cardid=64157001&cardnum=1&…

    编程技术 2025年3月8日
    200
  • vue.js中created方法使用步骤

    这次给大家带来vue.js中created方法使用步骤,vue.js中created方法使用的注意事项有哪些,下面就是实战案例,一起来看一下。 这是它的一个生命周期钩子函数,就是一个vue实例被生成后调用这个函数。一个vue实例被生成后还要…

    2025年3月8日 编程技术
    200
  • json对象数组键值大小写转换步骤详解

    这次给大家带来json对象数组键值大小写转换步骤详解,json对象数组键值大小写转换的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在做一个项目,发现后端返回的数据键值全部都是大写的,有时候前端用起来很不方便,所以写了一个深度…

    编程技术 2025年3月8日
    200
  • JS EventEmitter使用技巧总结

    这次给大家带来JS EventEmitter使用技巧总结,JS EventEmitter使用的注意事项有哪些,下面就是实战案例,一起来看一下。 上个周末花点时间根据之前看源码的理解自己用 ES6 实现了一个 eventemitter8,然后…

    2025年3月8日
    200
  • 使用JS进行文件拖拽

    这次给大家带来使用JS进行文件拖拽,使用JS进行文件拖拽的注意事项有哪些,下面就是实战案例,一起来看一下。 1.效果图: 2.源码 #p1 { width: 350px; height: 70px; padding: 10px; borde…

    2025年3月8日
    200
  • JS新手使用频繁出错点有哪些

    这次给大家带来JS新手使用频繁出错点有哪些,JS新手使用频繁出错点的注意事项有哪些,下面就是实战案例,一起来看一下。 1.前言 这段时间,金三银四,很多人面试,很多人分享面试题。在前段时间,我也临时担任面试官,为了大概了解面试者的水平,我也…

    2025年3月8日 编程技术
    200
  • JS中new()用法剖析

    这次给大家带来JS中new()用法剖析,JS中new()使用的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中…

    2025年3月8日
    200
  • $http服务Post方法传递json参数案例详解

    这次给大家带来$http服务Post方法传递json参数案例详解,$http服务Post方法传递json参数的注意事项有哪些,下面就是实战案例,一起来看一下。 具体如下: 一、$http POST方法默认提交数据的类型为applicatio…

    2025年3月8日
    200
  • JS获取url参数并发送json格式POST步骤详解

    这次给大家带来JS获取url参数并发送json格式POST步骤详解,JS获取url参数并发送json格式POST的注意事项有哪些,下面就是实战案例,一起来看一下。 登录后复制 一、获取url所有参数值 function US() {var …

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论