位置: 编程技术 - 正文

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

  • 堤防是啥
  • 准予扣除的税金及附加怎么算
  • 2021年餐饮业的税率是多少?
  • 中税协网站怎样补学时
  • 收到上年度所得税发票
  • 企业理财收入如何确定
  • 一般纳税人取得普票怎么做账
  • ATM可以存款到对公账户吗?
  • 支付职工医药费计入什么科目
  • 企业所得税季报资产总额怎么填
  • 专票红冲后还需重新开票吗
  • 固定资产处置怎么计算
  • 减免税款为什么在借方
  • 泡菜增值税率
  • 2018年上专科什么时候毕业
  • 消费税的征税范围有哪些?
  • 开发项目未竣工前土地使用税怎么缴纳
  • 行政事业单位如何加强财务管理
  • 收购全资子公司的账务处理
  • 工程建造过程中发生的在建工程人员工资180万尚未支付
  • 会计账目怎么理
  • 个人取得经济补偿金个人所得税计算
  • 联营企业分得的利润应计入什么科目
  • 预收账款科目
  • 结转基本生产成本
  • 如何查看windows密钥时间
  • 公司收到项目投资款怎么做账 项目结束后需要退本金
  • explorer.exe是啥意思
  • php mb_convert_encoding
  • Linux系统中怎么定位到java代码的方法级
  • 公司暂估成本是什么意思
  • php图片加文字水印
  • 公司账户的钱怎么少了
  • 前端解决浏览器跨域问题
  • php用正则匹配网页的logo
  • 餐饮专用发票可抵扣吗
  • 计算机视觉项目文档
  • 用谷歌浏览
  • 应收账款结账损失怎么算
  • 发票货物或应税劳务名称怎么填写
  • 建筑业预缴增值税计算公式
  • sql2005安装方法
  • sql命令语句
  • 确认收入的时点包括
  • 企业所得税营业成本包括管理费用吗
  • 研发支出 期末
  • 其他货币资金科目主要指
  • 卖二手车买卖
  • 银行利息收入如何记账
  • 房地产公司预收房款什么时候确认收入
  • 现代服务业如何提高服务的效率和质量
  • 工程预缴税款流程
  • 会计做账过程中遇到的问题
  • 会计写数字的技巧和方法
  • 存货科目包括哪几类
  • 哪些资产减值可以转回哪些不可转回
  • sql server数据库使用
  • 怎么看solaris版本
  • windows8文件夹怎么加密
  • iPhone怎么录制屏幕
  • rhel配置网卡文件和图形界面
  • linux 管理员登录
  • win8 休眠
  • linux安装有哪几种方式
  • linux mangle
  • cocos2d怎么用
  • nodejs中的模块以及作用
  • js怎么检查错误
  • Node.js中的construct构造函数
  • jquery设置滚动条
  • js基础
  • 办理税控盘的流程
  • 缴纳个人所得税怎么计算
  • 国家税务局发票真伪查验平台
  • 下列关于消费税委托加工说法正确的是
  • 账本遗失征管法处罚
  • 遵从和尊重
  • 天津海泰南路属于哪个区
  • 电子税务局房产税怎么申报
  • 国家税务总局制服
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设