位置: 编程技术 - 正文

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

  • 资产交换的涉税处理
  • 运动手环的税收分类编码是
  • 税收法律关系中最实质的东西是
  • 所得税残疾人工资加计扣除
  • 实际已缴纳所得税额在汇算清缴报告里怎么看
  • 法人向公司账户汇款怎么做账
  • 企业所得税低于多少不用交
  • 房地产企业售楼降价法律条文
  • 贸易公司没有仓库需要做入库
  • 公司买车可以抵扣哪些税
  • 资产减值测试是什么意思
  • 融资租入固定资产属于资产吗
  • 行政单位暂付款怎么记账
  • 应付账款不用付怎么处理
  • 出售商标使用权收入计入什么科目
  • 生育津贴缴纳
  • 房地产预缴增值税税率是多少
  • 工程施工属于什么会计科目
  • 个人独资企业还是个体户好
  • 支付固定资产运杂费计入什么科目
  • 固定资产计算折旧时用扣除减值吗
  • 企业投资收益如何做账
  • 报销租房费用开发票
  • linux统计代码总行数
  • 股东可以随时退出吗
  • PHP:pg_connection_busy()的用法_PostgreSQL函数
  • pgptray.exe - pgptray是什么进程 有什么用
  • php轻松入门视频教程
  • 车间耗材管理办法
  • 通过二手车买进套现
  • 建筑行业总分包怎么算
  • 工程材料费发票没拿到是否能预提费用
  • laravel datatable
  • php生成唯一id
  • php 自定义函数
  • php读取文件内容的方法和函数
  • 企业销售固定资产房屋都要交什么税
  • opencv+python
  • 融资手续费计入长期待摊
  • 非财政补助结余分配和非财政拨款结余分配
  • 延期缴纳税款的问题
  • python 自定义异常
  • 税务现金流量表填错了怎么办
  • 货物退回的会计怎么做账
  • 办公室租金产生的税率
  • 电子发票和增值税发票有什么区别
  • 销项100万进项80万交多少税
  • 小微企业的认定由哪个部门负责
  • 固定资产折旧完了还算固定资产吗
  • 预付账款属于资产项目吗
  • 轿车折旧年限为几年
  • Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
  • mysqlgroupby用法解析详细
  • wp7.8升级wp8
  • win7如何彻底关闭135端口 dcom
  • win8系统进不了桌面怎么办
  • 双屏windows
  • 如何激活Win8.1
  • ubuntu20.10安装教程
  • Ghost XP SP3 (雨林木风)纯净版 Y5.1下载
  • 盗版xp黑屏的解决办法
  • win7系统怎么启用本地连接
  • win7系统电脑开不了机怎么办
  • 学习英语
  • jquery自执行
  • iredmail是免费的吗
  • linux rpm包怎么安装
  • 浅析我国国防现状
  • 零基础玩转python
  • node搭建项目
  • js插件推荐
  • 新手入门常用代词有哪些
  • android sdk location should not contain
  • js编写一个标准的单例模式类
  • 地方税务局稽查局卢永胜
  • 预征率为2%预征税额怎么算
  • 江苏国税电子税局
  • 北京税务分所怎么样啊
  • 湖北税务发票查询系统网
  • dhl清关需要提供资料嘛
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设