位置: 编程技术 - 正文

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

  • 小规模公司减免的增值税怎么算
  • 企业所得税弥补亏损明细表怎么看
  • 小规模纳税人零申报是每季度报吗
  • 资源税类包括哪些税种
  • 预缴税款如何抵扣苗木款
  • 公司出售旧汽车要交什么税
  • 审计查账查什么
  • 普票销项负数发票
  • 进项和销项必须在一个月吗
  • 成本收入不配比的风险有哪些
  • 事业单位注销税务登记
  • 个税专项扣除做什么用
  • 应扣未扣的个人所得税税收如何处理
  • 清算期间研发费用是否可以加计扣除附会计处理
  • 会计人士教你在Excel中如何计算年均增长率
  • 应交增值税减免税额
  • 业务有提成个税怎么扣
  • 预提费用 增值税
  • 技术服务发票怎么开 安全培训
  • 一般纳税人附加税减免
  • 企业汇算清缴后税务局会不会查
  • 代扣代缴增值税如何申报抵扣
  • 购买免税苗木抵税分录
  • 资产负债率是用年初和年末数吗
  • 累计折旧的计提和处理的分录
  • 外籍人员在境内取得所得在我国应该计征个人所得税
  • 1697509479
  • 预收账款可计入
  • 完美解决怠速抖动加油就平稳
  • php嵌入js
  • php推送微信公众号客户消息
  • PHP:imagetruecolortopalette()的用法_GD库图像处理函数
  • hg8321r路由
  • 什么叫集团内企业
  • 百家论坛是正规期刊吗
  • 简单的随机乱码怎么解决
  • pdo_mysql
  • 制造业工资计提
  • CSS: overflow-anchor 固定滚动到底部,随着页面内容增多滚动条自己滚动展示最新的内容
  • oauth2 sso单点登录
  • 优化器总结
  • Vue3通透教程【一】Vue3现状—必然趋势?
  • php魔术方法功能与用法实例分析
  • 固定资产清理销售的收入
  • 月末制造费用转入生产成本,因此期末账户一定无余额吗?
  • 经营活动现金净流量与净利润的关系
  • 筹建期所得税年度申报如何填列
  • 从农业生产者购进农产品
  • 公司收到保险公司赔款后又转给个人怎么处理
  • 收购公司款项的会计处理
  • 印花税按什么的比例缴纳
  • 不单独计价的包装物押金计入什么科目
  • 企业资产评估增值
  • 火车票丢了还能再取吗
  • 医院怎么开发票?
  • 善意取得增值税专用发票所得税
  • 交通运输业安全经费提取的会计处理
  • 农业开发公司的名称有哪些
  • 股权转让后再转让
  • 预收货款未发货怎么办
  • 计提的利息汇算清缴时要调整吗
  • 借款和工程款可以分开吗
  • 银行汇票的适用主体
  • linux 更新yum
  • 宽带连接显示重拨
  • windows 8.1更新
  • win7 64位旗舰版系统网页字体大小如何修改变动
  • 完本小说 电子书地址
  • windows恢复版本
  • window.navigate 与 window.location.href 的使用区别介绍
  • python中类怎么用
  • js中的垃圾回收机制有哪些方法
  • Unity3d MonoDevelop格式化代码
  • javascript的应用
  • 辽宁省国家税务局官网
  • 无锡税务app
  • 代理记账和代理的区别
  • 银行服务创新金点子
  • 古代怎样征兵
  • 江苏国税发票出库时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设