位置: 编程技术 - 正文

深入分析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文件)

  • 小规模企业可以收增值税专用发票吗
  • 普票也要盖发票专用章吗
  • 专项附加扣除项目的6项具体规定有哪些
  • 个人所得税申报操作流程
  • 应收账款贷方余额重分类到哪
  • 减免的附加税怎么做会计分录
  • 增值税纳税义务发生时间
  • 企业所得税佣金扣除比例
  • 购买商标权税率多少
  • 无形资产没有了
  • 建筑业预缴税款都要填哪些表
  • 母子公司之间的管理费可以税前扣除吗
  • 项目结余是什么意思
  • 工程完成投资入什么科目核算与怎么写其会计分录?
  • 收到个税返还计入成本吗
  • 隔年的费用发票怎样入账
  • 小规模和一般纳税人的区别
  • 财税[2001]10号
  • 增值税发票税率是星号
  • 个税累计预缴税额税率表是年还是月
  • 自己的公司钱能自己用吗
  • 网税系统用户名和密码
  • 实际成本法的会计分录怎么写
  • 发出的货物可以要求退回吗
  • linux sed命令详解
  • 调整低电量通知怎么设置
  • 税控设备购买
  • 在建工程账务处理包括哪些内容
  • 业务招待费税前扣除标准按照发生额的60%扣除
  • csinject.exe是什么程序的进程 csinject进程是安全的吗
  • linux xmrig
  • win11预览版dev改beta
  • 包装物押金收入是否计入销售额
  • laravel自带队列效率
  • vuex存储用户信息
  • php cli 多线程
  • 编译安装和普通安装
  • 经验模态分解和变分模态分解
  • taskset 绑定cpu
  • 应收账款0
  • 织梦面包屑导航最后的分隔符大于号去掉方法
  • 购买备用品会计分录
  • php的do while语句
  • 织梦怎么调用当前栏目下的文章
  • 流动资产比例大说明什么
  • 水利基金应税项填的数据怎么查
  • 资产负债表和利润表的勾稽关系
  • mysql查询时间段的交集数据
  • 内账会计的岗位职责
  • 餐厅吃饭不小心把餐具打破需要赔吗?
  • 长期应付款的会计编号
  • 固定资产盘亏账务处理的问题
  • 享受优惠政策的通知
  • 单位缴纳的社保计入什么科目
  • 货款还没收到有违法所得吗
  • 本年利润借方余额需要结转吗
  • 租用的办公室装修费用怎么入账
  • 会计账簿按外表形式分
  • 企业流动负债比率多少算正常
  • windows vista如何安装
  • freebsd的软件多吗
  • 进程是什么 进程类型
  • ubuntu20.04安装samba
  • win7如何设置桌面背景图
  • win7打开软件总提示错误怎么解决
  • eclipse 单词
  • 网页设计div css布局
  • python操作微信自动发消息
  • jquery读写文件
  • u3d地形编辑贴图
  • javascript怎么用
  • javascript面向对象编程 PDF
  • 浅谈自己对教育的理解
  • 彩票税率税率
  • 航天信息人工电话
  • 非经营性房屋具体指哪些?
  • 债的抵偿顺序
  • 土地规划资质业务范围
  • 欠税多久法院立案
  • 建筑行业的公司近期出现的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设