位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享详解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服务端调试配置(地盘正针的详解使用)

  • 应交代扣利息税
  • 农产品进项税额转出怎么算
  • 期末应交税费有余额吗
  • 个税预扣预缴扣除项目有哪些
  • 公司卖出货物没有入库记录如何做账?
  • 税控盘及维护费的会计分录
  • 库存商品损坏怎么做账
  • 用餐补贴算在工资里面吗
  • 财务报表的资产负债表怎么填
  • 打印复印费的明细怎么开?
  • 企业所得税营业税金及附加包括
  • 预收款结转收入怎么算
  • 无形资产摊销和累计摊销一样吗
  • 赡养老人专项附加扣除可以是爷爷奶奶吗
  • 财产理赔收入怎么做账
  • 金融企业发放贷款时发生的交易费用
  • 事业单位自筹事业人员
  • 以前年度损益是所有者权益吗
  • 企业租车费可以抵扣吗
  • 临时工发工资要扣税吗
  • 企业已交地税税金如何做账务处理?
  • 什么是研发投入和成本
  • 其他应收款社保个人部分分录
  • 没收到电费账单怎么办
  • 消费者取得哪种权利
  • uniapp传值
  • 皮丘拉湖畔的乌代布尔城市宫殿,印度 (© Chaiyun Damkaew/Getty Images)
  • 增值税专用发票丢了怎么补救
  • 前端高手
  • ausearch命令
  • blkid命令详解
  • 修改公司章程注意事项
  • python中的sum函数怎么用
  • 工程施工企业的增值税税率是多少
  • dedecms怎么改图片
  • 费用分割单使用范围
  • 土石方收据图片
  • 转让旧固定资产怎么处理
  • 个税汇算要清缴么
  • 什么样的纳税人属于小规模纳税人
  • 公司没有车加油费怎么报
  • 购买商品商家赠送怎么做分录
  • 退货只能退一半价钱合理吗
  • 企业注销留抵税额怎么处理 最新
  • 租户押金抵房租
  • 现金退回没原始凭证咋办
  • 如何开展服务
  • 预交企业所得税计算
  • 企业处理原材料会计分录
  • 多少金额以上算固定资产
  • 股东权益净资产收益率计算公式
  • 新成立公司会计未来规划
  • 用户登陆login什么意思
  • mysql多表连接的方式
  • freebsd的软件多吗
  • 昂达主板插线安装图解
  • ubuntu 改名
  • 查看win8.1版本
  • windows自带软件有哪些
  • Windows Update XP SP3官方下载地址
  • centos安装软件教程
  • windows重大更新
  • win 10系统怎么查看网络连接
  • opengl oes纹理
  • 图文详解地理图册电子版
  • 如何用vs默认打开unity脚本
  • linuxparted命令
  • jQuery实现checkbox列表的全选、反选功能
  • 批处理清空文本内容
  • 创建一个新用户user1,设置其主目录为/home/user1:
  • 在python中的用法
  • unity5权威讲解
  • jquery easing
  • jquery有自定义选择器吗
  • 嵌入式安卓开发入门
  • 粮食购销企业税收服务
  • 开采砂石
  • 安徽省电子税务局怎么添加办税人员
  • 税务局三方协议变更
  • 济南特色没事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号