位置: 编程技术 - 正文

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

  • 出口货物退税是指
  • 销项税额和进项税额发票怎么区别
  • 盈余公积补亏为什么未分配利润增加
  • 单位多久查一次征信
  • 股东将投资款转入个人账户
  • 没开发票的收入可以不入账吗
  • 个人转让著作权交什么税
  • 将自产的产品用于对外投资
  • 公司购买的冰箱供员工使用
  • 建筑装饰行业税负
  • 企业收入为免税收入的是
  • 股权转让的公允价值
  • 购货未能取得发票怎么办
  • 卖投资性房地产交税
  • 牛奶的增值税普通发票
  • 信息服务费发票范围
  • windows11安装错误
  • win7无法使用管理员权限
  • 为什么我的windows10
  • 逆流交易合并报表调整少数损益
  • 珠宝加工税率是多少
  • 应交企业所得税和所得税费用区别
  • 苹果手机升级微信版本
  • php如何导入数据库
  • 汽车销售公司取名字参考大全图片
  • 月末结转营业税金及附加分录
  • 支付货款的流程
  • 劳务资质办理需要什么条件
  • uniapp使用高德地图创建多边形
  • 点云目标检测数据集
  • php获取当前页面
  • 解决脱发的8个方法
  • 税务局批扣是什么意思
  • 公司代垫款如何记账
  • 购买汽车相关费用标准
  • python中chr函数介绍
  • php7安装mysqli扩展
  • sqlserver四舍五入到整数
  • 买固定资产没有发票
  • access的数据源在哪里设置
  • mysql怎么使用表
  • 对外支付代扣代缴税费
  • 白酒消费税计税价格由谁核定
  • 收到发票并支付货款怎么做账
  • 结转上年
  • 上个月计提多了,这个月怎么办?
  • 转账进公户
  • 退休人员的返聘协议模板
  • 会计中应收账款属于什么科目
  • 应付账款冲减会计分录
  • 投标费用计入哪个科目
  • 长期待摊的分录
  • 社保稳岗补贴账务处理分录
  • 增值税发票丢失可以补开吗
  • 公司购买车
  • 税盘不缴费会怎么样
  • 企业应如何降低消费者
  • 员工报销没有发票可以从公户转账吗
  • 各单位都需设置的是
  • linux命令和命令之间用
  • WZCSLDR.exe - WZCSLDR是什么进程
  • Win7 64位系统没有超级终端软件的解决方法
  • winxp系统怎么设置开机密码
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • player文件怎么打开
  • 彻底删除怎样恢复
  • 前端html中怎么让文字左移
  • easyui grid
  • android图片库
  • android style文件
  • 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
  • android网络访问异常提示有哪些
  • 在windows中快捷键的作用
  • js闭包的定义和用途
  • 土地增值税税率表
  • 江西省发票查询系统
  • 枸杞税收分类是什么
  • 石油产品消费税征收
  • 耐心服务的名言警句
  • 食品烟酒消费包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设