位置: 编程技术 - 正文

深入分析node.js的异步API和其局限性(深入分析南水北调工程面临的新形势心得体会)

编辑:rootadmin

推荐整理分享深入分析node.js的异步API和其局限性(深入分析南水北调工程面临的新形势心得体会),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入分析原因,找出症结,对存在的问题进行了深入分析,深入分析换一种说法,深入分析原因,找出问题根源并有效破解,深入分析换一种说法,深入分析原因,找出症结,对存在的问题进行了深入分析,对存在的问题进行了深入分析,内容如对您有帮助,希望把文章链接给更多的朋友!

用异步API的原因

异步的概念之所以首先在Web2.0中火起来,是因为在浏览器中Javascript在单线程上执行,而且他还与UI渲染公用一个线程.这意味着Javascript在执行的时候UI渲染和响应是处于停滞状态的.为了用户体验更好而采取异步的方式(当然,这在所谓的单线程语言中)不阻塞主线程继续响应用户操作.这属于用户体验的范畴.

同样的,如果有其他语言经验的工程师当然也明白,CPU在线程间切换是需要消耗大量的时间的(主要为上下文之间的切换和缓存),所以提高效率也是使用异步API的理由.

当然,这些并不是绝对的正确,只是人人都这么说而已.因为如果创建多线程的开销小于并行执行,那么多线程的方式是首选,这时常被认为是CPU密集型的处理任务.

总之,异步IO或者说异步API可以算作Node的特色,因为它是收个大规模将异步IO应用在应用层上的平台,它力求在单线程上将资源分配得更高效.

关于Promise

这里,本文并不打算详细讲解Promise的用法,只简单说明Promise的一些API和试用范围:

如何等待多个Promise完成&#;

这段代码确实表现出了nodejs开发的优雅之处.

那么问题在哪&#;

目前再优雅的语言依然依托于操作系统,也就是说,系统的限制依然存在:

深入分析node.js的异步API和其局限性(深入分析南水北调工程面临的新形势心得体会)

我不知道能不能把这个错误解释成文件操作句柄耗尽,但大概意思本文希望各位能够理解,操作系统并不是可以同时打开无限多个文件.

还有这种:

这个很好理解,内存耗尽. 当然,内存限制,可以通过加入以下两个运行参数调整:

上述参数在V8初始化时生效,一旦生效不可动态变更.

很多人可能会提出,这两个限制在其他语言中一样存在.是的,其他语言一样存在.

但是其他语言强大的GC或多线程的编程模型可以让工程师们能在申请系统资源之后及时释放.

而nodejs中虽然也可手动释放不需要的系统资源,但真的可以做到引用程序里的每一个操作都能及时释放吗&#;

举个栗子:nodejs的redis包(npm install redis)并不提供同步的操作方法.

这意味着开发的过程要考虑更多的流程控制,很遗憾,单线程体系的nodejs并不擅长这个,正是因为本质上没有多线程的概念,没有锁机制,也不可能包含通常意义上的信号量机制,结果就是工程师根本不知道什么时候去手动释放资源.

除非对自己项目有绝对的掌控权,不使用任何使用异步API的第三方包.

所以,目前的结论就是,Promise只是一种开发的技巧,了解这些,并不适用于所有开发场景.

总结

标签: 深入分析南水北调工程面临的新形势心得体会

本文链接地址:https://www.jiuchutong.com/biancheng/370794.html 转载请保留说明!

上一篇:node网页分段渲染详解(node分页接口)

下一篇:Node.js读写文件之批量替换图片的实现方法(nodejs读写json文件)

  • 北京增值税认证平台电话
  • 交城市维护建设税填什么凭证
  • 收到退回的款项怎么做分录
  • 装修行业小规模纳税人增值税专票
  • 现金流量补充表的编制
  • 培训机构开发票不能开公司抬头吗
  • 开具银行资信证明
  • 会计凭证传递的终点是
  • 税务评估补税如何入账处理合适?
  • 佣金支付方式有哪几种
  • 设备租赁费开票属于哪个大类
  • 分包发票怎么开对方可以差额纳税
  • 待处理财产损益计入资产负债表哪里
  • 进项票转出怎么写分录
  • 坏账准备的计提应当关注
  • 跨年暂估成本的账务处理冲回
  • 残疾人保障金工资总额包括社保吗
  • 制造业增值税加计抵减
  • 本期预收的货款属于
  • 发票已认证还未开票
  • 支付安装设备所有费用
  • 初级证书多长时间可以领取?
  • php内存占用
  • Win10电脑重装系统要多少钱
  • 微软windows11泄露
  • 知乎如何更改名字
  • php的数组函数
  • 资产减值损失如何录入
  • phpsetcookie
  • 员工宿舍装宽带
  • 详解php中的序列是什么
  • netbeans ide 8.1
  • postman操作流程
  • 使用筷子就餐会不会传染乙肝病毒
  • 博客界面模板
  • 记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
  • node express安装
  • 企业资产损失税前扣除管理办法最新
  • 行政单位其他应付款
  • python 捕捉窗口
  • 出纳造工资表吗
  • 公司租入厂房怎么做账
  • vue2响应式原理面试回答
  • 中药饮片增值税率是多少
  • 收到以前年度多交增值税账务处理怎么做账
  • 去银行打对账单和回执单需要拿什么
  • 公司员工兼职开公司
  • 农产品税率2020年计算
  • 承包经营的承包人工资能税前扣除吗
  • 维修费成本怎么结转
  • 其他权益工具投资公允价值变动计入什么科目
  • 高温补贴发放管理制度
  • 小规模纳税人需要每月报税吗
  • 递延收益的会计处理
  • 非本公司员工能否享受本公司的福利
  • 库存商品记账
  • 私营公司应付利息怎么算
  • sql server的 update from 语句的深究
  • mysql常用关键字及其用法
  • 苹果的mac系统
  • centos关闭kdump
  • centos7配置vncserver
  • winctlad.exe - winctlad是什么进程
  • windows8启动项在哪里
  • linux做代理服务器的方法
  • 2021年win10累积更新
  • windows7 读不了u盘怎么解决
  • win10界面虚化模糊
  • python语言如何获取随机整数
  • 【ExpandableListView】ExpandableListView互斥展开效果
  • css怎么画图
  • 文件包解密
  • js编程中要使用到函数,分为哪几步?
  • nodejs实战教程
  • Unity for Absolute Beginners(二)
  • jquery编写页面载入事件
  • 印花税没有做税种认定怎么办
  • 广西壮族自治区图书馆
  • 企业吸收合并资质
  • 食堂增值服务有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设