位置: 编程技术 - 正文

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

  • 增值税应纳税额的计算
  • 企业注销增值税留抵可以退吗
  • 哪些商业保险可以扣除个人所得税
  • 销项税现金流量指定
  • 分公司独立核算还需要总公司汇总缴纳吗
  • 高危行业企业安全费用提取
  • 错把费用计入固定资产次月如何调账
  • 购买商品用于抵债的会计分录要怎么做?
  • 房屋购买安装电梯可以抵扣吗?
  • 减免税款怎么入账
  • 承租人转租需要交税吗
  • 个人房产税征收标准
  • 物业代收自来水水费
  • 所得税预缴资产怎么算
  • 金税盘报税的服务费怎么抵扣增值税?
  • 1697508301
  • 小规模企业企业所得税优惠政策2022年
  • iphone怎么格式化掉所有内容和设置
  • win11有什么升级
  • 制造费用结转到主营业务成本
  • 企业员工个人所得税申报流程
  • CodeIgniter与PHP5.6的兼容问题
  • 格里姆火山
  • code ide
  • 劳务报酬所得的计税标准
  • 在我国,企业可以用税前利润弥补几年内的损失
  • 汽车购置税计算公式
  • 支付产品运输费怎么入账
  • 增值税纳税人的相关规定
  • php结果以什么形式返回
  • php短信验证免费接口配置
  • 计算机视觉算法
  • 企业转租电费发票
  • 逾期的押金税率是多少
  • 事业单位一级项目和二级项目区别
  • 现代服务业加计抵减最新政策2022
  • 织梦网站怎么添加关键词
  • mongodb数据库操作题
  • 工程施工会计科目是什么科目
  • 事务所企业所得税
  • 删除mysql重复数据
  • 单位卖二手车如何交税
  • 小规模纳税人是查账征收还是核定征收
  • 研发费用加计扣除的条件
  • 当月已经认证的发票可以取消认证吗
  • 从政府取得土地使用权缴增值税吗
  • 小规模纳税人转一般纳税人当月如何申报
  • 外购的商品用于投分送
  • 机关和事业单位党的支部委员会每届任期
  • 餐饮业可以开具免税发票吗
  • 上海残疾人就业保障金计算公式
  • 营改增一般纳税人标准
  • 销售自己使用过的物品免税吗
  • SMceMan.exe - SMceMan进程是什么意思
  • linux0.12内核代码多少行
  • g++.exe error
  • win7应用程序没反应
  • win7 esd安装文件怎么安装教程
  • 微软十周年
  • windows 8 1
  • 一打字就出现windows设置
  • Windows 8 Modern Apps 网络隔离如何解除?
  • cocos2d游戏源码
  • OpenGL ES2.0-iPhone开发-part1
  • android游戏开发 教程
  • 不需要背景
  • .net 迭代器
  • javascript深入理解
  • 生成0-100的随机数,直到生成88为止,停止循环
  • javascript web开发
  • unity 120帧
  • 如何使用wordpress
  • jquery基础教程详解
  • 宁波鄞州区行政区划代码
  • 吉林省电子税务局操作手册
  • 临沂二套房契税收费标准2023年
  • 税控机怎么开发票
  • 请问3.3排量的汽车
  • 河南省国家税务局通用定额发票
  • 重庆两江新区购房政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设