位置: 编程技术 - 正文

node.js中的定时器nextTick()和setImmediate()区别分析(node定时任务框架)

编辑:rootadmin

推荐整理分享node.js中的定时器nextTick()和setImmediate()区别分析(node定时任务框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node 定时器,node.js 定时任务,node.js中的定时功能,node.js 定时任务,node.js中的定时功能,node.js 定时任务,node.js中的定时功能,node.js中的定时功能,内容如对您有帮助,希望把文章链接给更多的朋友!

1.node中使用定时器的问题在于,它并非精确的.譬如setTimeout()设定一个任务在ms后执行,但是在9ms后,有一个任务占用了5ms,再次轮到定时器时,已经耽误了4ms.

好了node中的定时器就简单的讲这么多.

2.看代码:

通过这个例子,我想大家很清楚的就能看到nextTick()是用来干嘛的了.主要是用来异步执行的.

在看代码:

我们发现setImmediate也是异步执行的.奇怪了

那么它与nextTick()有什么区别呢&#;

看代码:

node.js中的定时器nextTick()和setImmediate()区别分析(node定时任务框架)

代码一:

结果:

代码二:

结果:

发现代码虽然顺序不一样,但是执行的结果是一样的.

从结果可以发现:

nextTick()的回调函数执行的优先级要高于setImmediate();

process.nextTick()属于idle观察者,setImmediate()属于check观察者.在每一轮循环检查中,idle观察者先于I/O观察者,I/O观察者先于check观察者.

在具体实现上,process.nextTick()的回调函数保存在一个数组中,setImmediate()的结果则是保存在链表中.在行为上,process.nextTick()在每轮循环中会将数组中的回调函数全部执行完.而setImmediate()在每轮循环中执行链表中的一个回调函数.

从执行结果上看出:当第一个setImmediate()的回调函数执行完后,并没有立即执行第二个,而是进入了下一轮循环,再次按nextTick()优先,setImmediate()次后的顺序执行.之所以这样设计,是为了保证每次循环能够较快的执行结束.防止CPU占用过多而阻塞后续I/O调用的情况.

标签: node定时任务框架

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

上一篇:node.js操作mongoDB数据库示例分享(node.js操作文件)

下一篇:为什么Node.js会这么火呢?Node.js流行的原因(node.js wss)

  • 出租房怎么算平方多少
  • 纳税人未抄报税是什么意思
  • 卷烟消费税是怎么算
  • 销售商品价格含税吗
  • 土地增值税计入固定资产清理
  • 小规模企业发生了增值税,如何计提附加税
  • 国债利息收入免征增值税
  • 进口环节增值税是中央税还是地方税
  • 设计原始凭证所需内容及步骤
  • 超市销售购物卡怎么开票
  • 车辆报废收入如何处理
  • 合并报表投资收益为什么要抵消
  • 事业单位取暖费什么时候发
  • 给客户办理分期
  • 税务系统出问题怎么办
  • 航天信息开票步骤
  • 建筑公司工地买空调
  • 进项发票与销项发票差额是企业毛利润吗
  • 危险废物处理费用发票怎么开
  • 委外加工企业怎么样降本
  • 进项税额暂不转出情况说明怎么写
  • 1697511149
  • 完工百分比法确认收入应注意的问题
  • win7系统打开软件就停止工作
  • 贴现利息会计处理
  • 销售利润率是什么能力指标
  • 事业单位采购管理办法
  • 王者荣耀英雄印花衣服哪里批发
  • shpc32.exe - shpc32是什么进程 有什么用
  • mac如何关闭开机启动
  • 工地需要安装什么标识牌
  • 预缴和清缴的会计科目
  • 缴纳季度企业所得税比例
  • CVE-2016-1000027分析
  • 损益类科目包括利润分配吗
  • 自定义max函数
  • html中的标签有哪些
  • 文件不小心删除了怎么恢复
  • 应收账款计提减值准备的方法
  • 销售退货和折让是收入吗?吗?
  • 发票清单怎么导出
  • 企业注销后还有风险吗
  • 古腾堡中文官网
  • php判断https
  • 如何对php网站页面进行修改
  • c语言中数组怎么用
  • mongodb官方文档中文
  • 取得发票没有加税怎么办
  • 小规模纳税人分红要交税吗
  • 制造费用是费用吗?
  • 消费税是指怎样的收入
  • 政府会计计提折旧方法
  • 小规模纳税人开专票需要交税吗
  • 不符合资本化的长期借款利息计入什么科目
  • 股东撤资如何退还资金,用途写什么
  • 增值税退税账务处理,经其他收益科目
  • 只知道主营业务怎么办
  • 国有企业无偿划转股权缴纳印花税
  • 简易计税开具的发票取得的进项可以抵扣嘛
  • 销售产品的软件平台
  • 企业送给客户的礼品怎么做分录
  • 业务招待费可以开专票抵扣吗
  • 个体工商户和公司的优缺点
  • 高新企业研发费用占比
  • mysql 5.7.18 winx64 免安装 配置方法
  • 如何快速提升花呗额度
  • linux命令telnet
  • w8系统怎么用
  • linux与windows有哪些主要区别
  • linux安装dns软件包
  • JQuery 又谈ajax局部刷新
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • node一次执行多个文件
  • python基本用法
  • js添加一个div
  • 职工教育经费可以结转吗
  • 绿化工程项目
  • 契税完税证明遗失
  • 发现个人所得税被物业挂职
  • 江西鹰潭潭花酒60度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设