位置: 编程技术 - 正文

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

  • 税后债务资本成本计算公式 中级会计
  • 二手车经纪公司和中介的区别
  • 以前年度所得税退税会计分录
  • 关联企业的费用包括
  • 企业养老金计算公式举例说明
  • 增值税税率如何计算
  • 员工造成损失怎么处理
  • 其他货币资金是资产类科目吗
  • 海关废品回收
  • 代销手续费怎么做账
  • 银行利息税是多少2021
  • 付城镇土地使用税是多少
  • 多扣社保个人部分怎么做分录
  • 消费税组成计税价
  • 建筑业增值税税率2022
  • 小微企业销售额含税吗
  • 涉农贷款损失
  • 企业出售固定资产取得的净收益应列入的利润表项目是
  • 未开票收入如何确认
  • 固定资产什么时候增加
  • 普通发票要写增值税吗
  • 防伪税控发票维修流程
  • 2019年固态硬盘价格
  • 该系统的软件
  • 加计抵减政策销售额占比怎么算
  • adsl灯一直闪烁
  • ocxdll.exe - ocxdll是什么进程 有什么用
  • 发代扣代缴手续费个税免
  • 民间非营利组织会计账务处理
  • 销售购物卡如何交税
  • 收到预付款计入什么科目
  • 外商投资企业法人独资属于内资还是外资
  • uni-app实战教程
  • vue3.0优点
  • php提供的字符串函数
  • 得物的成本结构是什么
  • 学习率设置
  • 销售货款无法收到怎么办
  • 融资租赁首付租金会计账务处理
  • 研发失败能做加工企业吗
  • 摊销结束后
  • 工会会计需要会计证吗
  • 销售收入未开票
  • 企业股东变更流程及费用
  • 购买的软件属于什么资产
  • 出口企业消费税怎么算
  • 包装物的账务处理例题
  • 融资租赁的增值税专用发票可不可以抵扣
  • 单位租的个人房怎么入账
  • 行业协会是怎么赚钱的
  • 商贸企业发出商品怎么确认收入
  • 住宿费报销该怎么报
  • 其他应付款贷方什么意思
  • 库存商品盘点制度
  • 小企业营业外支出的内容
  • 职工福利费的扣除标准工资总额包括什么
  • 其他流动资产
  • 生产经营所得成本费用怎么算
  • 预付购买设备款
  • 新收入准则要求
  • 更换账簿需要注意哪些问题
  • mac安装surge
  • 创建一个windows
  • ubuntu设置默认编辑器
  • kdeskcore.exe是什么
  • win10查看电脑配置显卡
  • win10/win8.1/win7系统遇到中英文输入法无法切换怎么办?
  • win7系统怎么打日语
  • unity点击按钮没反应
  • vue框架写淘宝购物车
  • angular.js
  • node.js web开发
  • 新浪微博手机客户端下载
  • Python Requests 基础入门
  • js工具类库
  • Android屏幕适配分屏
  • 社保每个月几号截止申报
  • 税务系统福利
  • ca证书免费申请
  • 发票盖哪几联
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设