位置: 编程技术 - 正文

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

  • 个体工商户一直没办税务登记证
  • 企业出售土地的土地增值税计算方法
  • 企业被环保关停政府赔偿
  • 收到稳岗补贴怎么做会计分录小企业会计准则
  • 个体户可以不开公户吗?打款到法人卡
  • 公司报销房租还能扣税吗
  • 公户购买理财怎么做账
  • 向保险公司缴纳的保险费可以税前扣除吗
  • 小规模变一般纳税人需要哪些资料
  • 非营利组织的项目管理流程包括
  • 赠送固定资产会计处理
  • 罚款所得税调整
  • 电费应收电费和实际电费
  • 房产契税新政策消息2023
  • 公司支付宝账户怎么登录
  • 企业增资扩股如何办理
  • 股权转让的违约条款
  • 专用发票红冲后可以退税吗?
  • 企业为职工支付的家庭财产保险
  • 外管证开了未用怎么办
  • 每月收到融资租赁费利息发票
  • 财政部的监管职责范围不包括
  • 在产品的成本
  • 分公司固定资产转入总公司的分录怎么做?
  • 税务登记都需要什么
  • 汇算清缴的年报在哪里查询
  • 纳税人月销售额怎么算
  • 进项大于销项下月可不可以抵扣
  • 企业有哪些资金结构
  • 商贸公司怎么结算成本
  • 重装系统最好排名
  • 财政拨款收入的明细科目
  • 华为mate50pro怎么读
  • 苹果电脑优酷视频打不开
  • 促销费用计入销售费用哪个科目
  • PHP:pg_set_client_encoding()的用法_PostgreSQL函数
  • 哪个是发票抵扣项目
  • 个人所得税申报流程图
  • 企业所得税汇算清缴扣除标准2023
  • 最常用的成本核算方法表
  • 一天看小说十几个小时的人
  • vue3项目实战
  • 承兑贴现会计分录怎么做
  • laravel 自定义guard
  • 帝国cms调用api接口
  • SQLServer 2008 R2中使用Cross apply统计最新数据和最近数据
  • 织梦是啥
  • 小规模纳税人的税率是多少
  • 多处取得工资薪金
  • 产品研发项目管理 系统 国外
  • 预算会计与企业会计的区别感悟
  • 去年出口
  • 长期待摊费用该怎么记账
  • 复利年金的区别
  • 新成立的教育机构值得去吗
  • 将借款存入银行会计分录
  • 企业代理社保
  • 关于新修订的未保法
  • 关于文化事业建设费的说法错误的是
  • 金蝶现金银行存款账怎么记账
  • 广告宣传费纳税调整额怎么算
  • 金蝶凭证做错了已经入账怎么更正
  • sqlserver表类型
  • mysql必知必会mobi
  • 电脑打开win
  • xp系统乱了,怎么恢复
  • 怎么查看自己mac电脑有没有被人使用过
  • centos怎么打开软件
  • ios平台中glsl中shadow2DProjEXT函数的简单说明以及变换矩阵的小注意点
  • 环境篇作文
  • android开发手册
  • node.js实战
  • android基础教程
  • python文本
  • 批处理的扩展名
  • js对象用法
  • jquery通过属性值获取元素
  • 企业所得税法中所称有关的支出是指
  • 个人利息收入属于什么收入
  • 委托人委托代理人的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设