位置: 编程技术 - 正文

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

  • 进项税额转出借方科目
  • 什么是抄税清卡业务
  • 软件工程质保金
  • 电子税务局怎么登录
  • 资产负债表应付账款怎么算
  • 结转完工产品生产成本会计科目
  • 有限合伙企业利润先税后分
  • 如何区分劳务报酬与经营所得
  • 税收的三个基本要素是
  • 总分类一般采用什么格式
  • 长期股权投资权益法下初始投资成本
  • 商品互换的概念
  • 收到汽车保险赔款怎么做账
  • 公园门票可以开发票吗
  • 不是经营范围内的食品
  • 汇算清缴涉及长期投资收益如何做会计核算?
  • 子公司的注册资金需要母公司股东出吗?
  • 免税企业进项怎么处理
  • 收取水电费如何开票
  • linux常用命令make
  • 政策性退税流程
  • mac键盘图标与对号不一致
  • 怎么安装win7系统u盘
  • win10电脑记事本打不开显示错误
  • 生产企业出口退税计算
  • 待摊费用计入哪里
  • php生成代码
  • 赔偿款财务如何做账
  • 增值税流转税是什么意思
  • 转让股权怎么做分录
  • nodejs应用领域
  • vue3组件写法
  • Yii1.1中通过Sql查询进行的分页操作方法
  • php生成随机数不重复
  • CUDA版本选择
  • 2022年终总结
  • php设置目录权限
  • javascript数据类型分为哪两类
  • 入库税款异常是啥意思
  • 科目汇总表一页不够写怎么办
  • 增值税发票开具规定
  • 季度所得税收入大于成本利润是负号
  • 库存商品入库的会计分录怎么写
  • 印花税申报成功怎么撤回
  • 行政单位汽车加油无明细怎么办
  • 法院强制执行根本没用
  • 筹建期的印花税怎么算
  • 折扣的种类有哪几种
  • 小规模增值税减免
  • 工程主营业务收入会计分录
  • 应付账款在贷方负数
  • 期初试算平衡表资产多
  • 飞机发票和行程单一样吗
  • 外经证缴纳税费用个人卡可以用吗
  • 公司法人可以变更给老人吗
  • 外购固定资产
  • mysql分页实现
  • drop table select
  • macmysql忘记密码如何配置
  • ubuntu右键菜单
  • win8出现问题需要重启
  • freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击
  • debian安装zsh
  • wondows文件保护
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • 进程管理器命令
  • centos安装rclone
  • win10系统窗口贴靠操作的快捷键
  • mysql定时脚本
  • 教你用十行node.js代码读取docx的文本
  • node stream(流)有哪些?
  • shell脚本 su
  • js画矩形
  • python怎么用
  • 内蒙古税务局电子发票查询
  • 广东国税局发票查询平台
  • 吉林省地税局电话号码
  • 国税系统打印不了发票怎么办
  • 落实措施对吗
  • 国家税务局什么时候放假
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设