位置: 编程技术 - 正文

详解node单线程实现高并发原理与node异步I/O(node 多线程)

编辑:rootadmin

推荐整理分享详解node单线程实现高并发原理与node异步I/O(node 多线程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs单线程处理高并发,node单线程 高并发,node单线程异步,node单线程还是多线程,node单线程异步,node单线程还是多线程,node.js单线程,node单线程异步,内容如对您有帮助,希望把文章链接给更多的朋友!

一、node单线程实现高并发原理

众所周知nodejs是单线程且支持高并发的脚本语言。可为什么单线程的nodejs可以支持高并发呢?很多人都不明白其原理,下面我来谈谈我的理解:

1. node的优点:I/O密集型处理是node的强项,因为node的I/O请求都是异步的(如:sql查询请求、文件流操作操作请求、http请求...)

a. 什么是异步?

异步:发出操作指令,然后就可以去做别的事情了,所有操作完成后再执行回调

异步的实现原理: 

b. 什么是异步I/O?

异步I/O顾名思义就是异步的发出I/O请求

c. 虽然nodejs可以异步的发出I/O请求,但nodejs不支持多线程,为啥就可以支持高并发呢?

详解node单线程实现高并发原理与node异步I/O(node 多线程)

因为nodejs的I/O操作,底层是开启了多线程的

当同时有多个IO请求时,主线程会创建多个eio线程,以提高IO请求的处理速度    

额外知识点:

d. 虽然nodejs的I/O操作开启了多线程,但是所有线程都是基于主线程开启的只能跑在一个进程当中还是不能充分利用cpu资源

pm2进程管理器可以解决这个问题

pm2 是一个带有负载均衡功能的Node应用的进程管理器.

e. cpu核数与线程之间的关系

在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。而现在多核CPU的情况下,同一时间点可以执行多个任务,具体到这个任务在CPU哪个核上运行,这个就跟操作系统和CPU本身的设计相关了

2. node的缺点:不擅长cpu密集型的操作

a. 什么是cpu密集型操作(复杂的运算、图片的操作)

b. nodejs为什么不擅长cpu密集型操作

因为nodejs是单线程的

标签: node 多线程

本文链接地址:https://www.jiuchutong.com/biancheng/379524.html 转载请保留说明!

上一篇:Node调用Java的示例代码(node.js调用c)

下一篇:详解使用vscode+es6写nodejs服务端调试配置(地盘正针的详解使用)

  • 堤防是啥
  • 注册公司不开账户可以吗
  • 企业所得税的纳税义务人不包括下列哪类企业
  • 个人服务费发票几个点
  • 单位买了一批空调怎么办
  • 公司不交工会经费的原因,风险说明
  • 网络贷款需要缴纳保证金吗
  • 研发费用直接计入成本吗
  • 房产税简易征收的时间
  • 所得税季报什么时间扣款
  • 设计合同需要缴哪些税
  • 一般纳税人免征教育费附加的文件
  • 车辆购置附加税证丢了能过户吗
  • 税务局开普票怎么开
  • 总公司在异地和分公司交社保
  • 异地业务操作
  • 土地出让金怎么入账
  • 工商年报网上申报要钱吗
  • macbook发热会烧坏吗
  • 鸿蒙密码锁设置密码的方法
  • 电脑换系统怎么备份软件
  • 出纳违规支付承担啥责任?
  • Linux系统怎么设置常亮
  • 笔记本屏幕清洁剂推荐
  • cpqdfwag.exe是什么进程 能结束吗 cpqdfwag进程查询
  • 项目完工叫什么
  • pytorch如何学
  • 经营收益是净利润吗
  • php忘记密码功能
  • 税务局什么情况下可以停供发票
  • php数组拼接成字符串
  • 银行存款余额调节表是不是原始凭证
  • 三代手续费返还是否需要缴纳增值税
  • 以前年度损益调整是什么意思
  • php虚拟主机
  • 应付职工薪酬怎么冲平
  • 关于专利技术转让的说法
  • 广告费支出税前扣除标准30
  • 当月注销外管证个税账户也会注销吗
  • 循环语句例题及解析
  • 建筑业开票税点
  • 专用发票跨月冲红流程
  • 个体户需要
  • 有留抵税额可以注销吗
  • 上月未结账本月是否能记账
  • spring security例子
  • 增值税税务检查
  • 公司过账的款项怎么入账
  • 融资性无形资产的入账价值
  • 企业的加油卡如何充值
  • 报表的应付账款怎么算
  • 现代服务业营改增
  • 买入返售金融资产属于金融资产吗
  • 长期待摊费用属于利润表项目吗
  • 旅游费计入什么会计科目
  • 暂估入库一直没冲会怎么样
  • 未开票收入如何申报增值税,下个月怎么操作
  • 软件开发收费标准
  • 年初建账考虑要点业务流程是否变化
  • sqlserver数据库恢复挂起状态
  • mysql中的limit用法有哪些(推荐)
  • 微软股票
  • win xp 虚拟内存
  • ubuntu命令联网
  • centos6.5升级到7.5
  • centos7 zsh
  • linux whoami命令详解
  • win7系统命令大全
  • 当ie7不认!important之后 [布局的解决办法]
  • jquery源码分析笔记
  • linux中date命令详解
  • win10 putty
  • 如何在python中运行程序
  • shell删除指定内容
  • Android as Bluetooth Low Energy Peripherial (GATT server).
  • js滚动条滚动触发事件
  • 修改应用程序图标
  • 国企9000扣完五险一金
  • 广东省电子税务局app下载
  • 银行赠送礼品活动方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设