位置: 编程技术 - 正文

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

  • 受托加工开票如何选名称
  • 应收账款和应付账款可以抵消吗
  • 小规模差额征税全额开票和差额开票
  • 2020年小规模纳税人增值税起征点
  • 税务局的信用等级是多少
  • 计提工资和实际发放工资必须一致吗
  • 有限合伙企业要交增值税吗
  • 银行现金增加会计分录
  • 出口货物当期免抵退税不得免征和抵扣税额,应计入
  • 原材料预付款如何做账
  • 机票退票账务处理
  • 公司支付收益权转让怎么做账?
  • 小型微利企业预缴所得税税率
  • 私立医院增值税税率是多少
  • 印花税计入股票成本吗
  • 取得的增值税发票哪些项目必须开具事项
  • 三十个生僻字
  • 坏账准备核销和转销的区别
  • 停车费属于不动产租赁服务税率
  • 公司账上收到职工的生育津贴如何做账?
  • 销售折扣计入增值税销售额的
  • 发票有问题找谁
  • 小规模10万以下免税分录
  • 跨境电子商务零售进口商品的单次交易限值
  • 进项票月初收到能抵上月
  • vue3.0组件库
  • php curl header参数
  • url是什么格式的文件怎么打开
  • 公账提取备用金限额
  • php array_map 和 foreach性能
  • 看望员工家属
  • 辅导期一般纳税人标准
  • 以本年利润弥补以前年度亏损会影响所有者权益总额吗
  • 工会捐款计入什么科目
  • 什么是动态表单
  • 减值准备对方科目不能是固定资产
  • reset fields
  • 年度报表资产总额平均值怎么算
  • 技术服务费怎么开票税率
  • 差额冲账法
  • 全年一次性奖金税率表2023最新
  • 跨境收入免增值税需做备案吗
  • 加工企业怎么做账务处理
  • 支付给法律顾问怎么做账
  • 当月购进原材料取得税控专用发票
  • 关于出售使用过的产品
  • 新公司固定资产盘点总结
  • 租赁公司账务科目
  • 公司员工垫付款项
  • 出口退税进项税都抵扣了怎么办
  • 公司从员工工资扣水电费
  • 自制半成品销售方案
  • 专项附加扣除项目
  • 购买原材料材料尚未验收入库,款项尚未支付
  • 暂估固定资产的账务处理
  • sql无法用sql身份验证
  • xp系统怎么取消自动关机
  • vista win
  • windows server 2003与2008的区别联系与选择指南
  • mac画图的app叫什么
  • 苹果电脑打不开txt
  • linux缓存过大会宕机吗
  • centos如何配置ip地址,网关和掩码
  • win8图标放桌面
  • Win10如何还原输入法
  • windows 10更新卡住
  • jquery可以实现哪些效果
  • Node.js中的全局变量有哪些
  • 用python写多线性模型
  • jquery点击按钮跳转页面
  • nodejss
  • javascript题
  • unityshader插件
  • jquery网页跳转
  • 如何用jquery
  • python中如何抛出异常
  • 重庆电子税务局官网登录入口
  • 停车场收费需要什么手续
  • 强化管理定义
  • 地税局一般几点下班
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设