位置: 编程技术 - 正文

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

  • 预提所得税的计税基础
  • 收据收到写什么
  • 兼职人员工资需要申报个税吗
  • 树苗应计入什么科目里面
  • 留抵税额账上比申报表多
  • 销售增长率在报表上怎么看出来
  • 销售免税的有机食品
  • 接受捐赠收入会计利润含税吗
  • 应交税费里的应交企业所得税意思是交了吗
  • 为什么要开增值税
  • 增值税专用发票和普通发票的区别
  • 建筑施工企业购进材料会计分录
  • 集体房产证如何分割
  • 购买商品用于赠送
  • 留抵退还增值税
  • 一般纳税人房产税是按季还是按月申报
  • 利息调整摊销的经济意义
  • 权益法核算下的顺流交易
  • Win10中macos big sur虚拟机无法连接网络怎么办?
  • 情绪情感的特点
  • 会计报表申报期限怎么填
  • 艾叶泡脚的方法和注意事项
  • php中

  • 马尔堡酒庄
  • 收到证券公司异常交易
  • 电票怎么付给别人
  • php curl_multi_init
  • php匿名函数和回调函数
  • 精读论文分析
  • 特征提取原理
  • 违法汽车查询
  • 税控技术服务费280元怎么抵减申报不成功
  • 机器人折旧年限
  • 新建厂房的费用由谁承担
  • 零税率和免税的含义和区别
  • 持有投资期间,被投资单位编制合并报表
  • 财政补贴收入账务处理
  • 招待客户住宿费进项税可以抵扣吗
  • 年底全年的研发费用占比
  • 删除sql server2019
  • 向分支机构支付融资利息可以扣除吗?
  • 公司购入车辆的增值税怎么算
  • 企业转让固定资产增值税税率
  • 企业应交税金科目编码
  • 建筑行业会计做账流程及会计分录
  • 股权收购协议书实际案例
  • 车辆计提折旧需要结转吗
  • 专项应付款的核算
  • 过次页是本页合计吗
  • 应付职工薪酬账户贷方登记的是
  • 支付结算办法实施细则最新
  • 收到客户预付款会计分录
  • 外贸企业汇兑损益如何减少
  • 年度所得税汇算清缴报告在哪打印
  • 转账支票需要知道开户行吗
  • 购买公司分录怎么写
  • 什么是稳岗补贴有多少
  • 个体从业人数怎么填
  • sqlserver存储过程声明变量
  • Centos MySQL 5.7安装、升级教程
  • win7怎么打开后缀
  • windows xp怎么打开
  • 启动mac问号文件夹闪烁怎么办
  • win7升级win10之后视频解码能力变弱
  • winpup32.exe - winpup32是什么进程 什么意思
  • centos hosts
  • linux 进入命令
  • win8.1开机慢
  • win10系统怎么锁定屏幕
  • win8wifi设置在哪
  • unity引擎用什么模拟器
  • js日历控件代码和效果
  • unity3d物理现象模拟
  • javascript基础类型
  • adb查看ip地址
  • 页面跳转后js还会执行吗
  • 2021年徐州农村合作医疗
  • 研发费用加计扣除是什么意思啊
  • 烟草什么品牌好
  • 教育培训行业的前景
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设