位置: 编程技术 - 正文

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

  • 累计扣除税额
  • 工资不纳税项目
  • 建安行业是建筑行业吗
  • 商贸公司营业执照范围
  • 进项税加计抵减生产性服务
  • 已认证的发票如何冲红步骤
  • 金融行业打包是什么意思
  • 资本溢价能不能退还股东呢
  • 陈列费税率多少
  • 销项负数发票用勾选吗
  • 年末企业盈利有什么影响
  • 企业所得税费用税率
  • 委托加工怎么计算消费税
  • 盈余公积金什么时候计提
  • 发票不验旧可以领取新的吗
  • 债务重组会计处理中,债务人确认的债务重组利得
  • 销售结算款扣款怎么记账?
  • 销售费用广告费存在哪些问题
  • 企业新建厂房
  • 小规模纳税人如何计算增值税
  • 个人所得税0元算不算缴税
  • 现金结算的股权支付等待期
  • 同比增长率为负数怎么算
  • 个税申报月份有误如何调整?
  • 公司自有房屋出租 营业范围
  • 机动车销售统一专票税率
  • mac应用程序安装权限在哪找
  • 印花税的征收范围
  • 存货成本要加上税费吗
  • 暂存款转结余
  • 权益法核算的长期股权投资入账价值
  • PHP:pg_get_result()的用法_PostgreSQL函数
  • 股票发行费用怎么算
  • 车辆购买保险发票未回怎么做会计分录
  • 固定资产置换存货的账务处理
  • 最高成本的手机是哪款
  • api接口是干嘛的
  • php 5
  • 增值税发票查询结果不一致是什么意思
  • Vue 拖拽排序
  • 利息 记账
  • 融资交易的会计处理
  • 土地增值税预缴计税依据
  • access日期时间格式怎么修改
  • 水利基金差额征收有哪些类型
  • 职工体检费用标准规定
  • 计提税金如何做凭证
  • 其他收益用什么明细账
  • 非正常损失的货物
  • 运输企业税负率一般控制在多少?
  • 现金盘盈盘亏账务处理分录
  • 兼营即征即退产品 增值税
  • 代收代缴水电费如何开票
  • 内部使用的收据可以做原始凭证吗
  • 个人往对公账户上存款怎么存
  • 吸收的三种方式
  • mysql关联语句
  • sqlserver 获取字符位置
  • office2003破解
  • 高端电脑品牌
  • ubuntu20设置wifi
  • centos怎么扩容
  • windows共享文件夹端口号
  • Mac如何更换壁纸
  • win7系统开机蓝屏0x0000007b
  • windowsxp怎么改windows7
  • Mac系统中使用QuickTime Player实现屏幕录像图文教程
  • 使用和启动故障的区别
  • scureapp.exe - scureapp是什么进程 有什么用
  • win8应用商店废了
  • win8.1专业版怎么升级成win10
  • win10系统应用更新
  • h1标签的使用完全正确的是
  • 置顶聊天的人怎么不见了
  • Android带有注册界面的简单app
  • js操作对象的方法
  • 江西税收优惠
  • 地税总局局长
  • 饲料的税收优惠政策
  • 浙江地税电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设