位置: 编程技术 - 正文

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

  • 国税纳税标准
  • 村委会什么会计准则
  • 变更税务法人需要怎么办
  • 出口托收业务
  • 具备什么条件的土地可以开发
  • 企业奖励的目的
  • 物业公司哪些费用需要公示
  • 自产自用应税消费品
  • 一般纳税人应交增值税明细科目设置
  • 政府给的专款专用发票
  • 其他业务收入的核算内容
  • 现金不够怎么办
  • 用友软件冲销凭证是什么意思
  • 预收房款发票开具需要注意哪些?
  • 已认证已抵扣的发票对方要寄回吗
  • 销售货物的运输费用计入成本吗知乎
  • 税务变更
  • 文化事业建设费的征收范围
  • 污水处理费计入哪里
  • 企业资产利润率计算公式
  • 资产评估入账的评估报告
  • 保险公司退还保费
  • 退税收入要不要交所得税?
  • 电脑在线测速的软件
  • 无偿取得固定资产算不算收入
  • 计算机系统结构第三版课后答案
  • 增值税中进项税额比对异常能作废申报吗
  • macos使用技巧
  • 油费餐费入什么科目
  • smart方法的含义和重要性
  • 发票金额与银行付款金额少几分钱
  • 在anaconda下安装python
  • vue全家桶插件有哪些
  • cicd框架
  • 公司法人和股东哪个承担的责任大
  • html-css
  • html里面有什么
  • 人体姿态识别国内外研究现状
  • html前端开发教程
  • 干货!​如何打造我们自己的“ChatGPT”?| 大佬思辨
  • 购买土地支付的契税怎么入账
  • Using Visual Leak Detector
  • 机票行程单可以在到达地打印吗
  • 以前年度应交税费调账
  • 年终奖税金怎么扣
  • 不开增值税发票的销售收入报税的操作流程是?
  • 财务报表的填写要求
  • 企业的管理费用,财务费用和销售费用计不计成本呢
  • sql server复制表数据
  • 去年企业所得税多计提怎么调整
  • 实收资本实务处理办法
  • 期初调整分录
  • 利润表怎么没有本月数
  • 什么是固定资产的后续支出
  • 未分配利润可以转盈余公积吗
  • Windows下MySQL 5.7无法启动的解决方法
  • 如何重装系统win7具体步骤
  • win8系统怎么做系统
  • linux urb
  • 怎么配置命令
  • SetPoint.exe - SetPoint是什么进程 有什么用
  • cad90度角
  • windows mobile10
  • windows7没有桌面图标
  • edit apps
  • android模块开发
  • python自动报表
  • nodejs基础
  • django内置组件
  • 菜鸟 安卓
  • vue分页查询
  • jquery左右选择框
  • python 设计
  • 个人经营所得申报时间
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 潍坊市滨海经济开发区属于哪里
  • 地税局属于省直单位吗
  • 广西电子税务局电话人工客服电话
  • 湖南国税网上营业厅
  • 怎样以实际行动争取入团
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设