位置: 编程技术 - 正文

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)

  • 汇票没到期可以撤回吗
  • 差旅费的现金流
  • 应付利润借方有余额怎么处理
  • 税控盘当月不抵扣怎么申报
  • 生产车间财产保险费计入什么费用
  • 应付中转是什么科目
  • 出口退税发票未稽核可以申报退税吗
  • 房地产开发企业预缴增值税
  • 土地增值税多交了怎么处理
  • 企业接受捐赠的账务处理
  • 法院判罚利息怎么算
  • 计提坏账的递延税收
  • 房地产企业的收入信息披露范围进一步扩大
  • 审计调整坏账后什么时候回冲分录?
  • 税审报告谁签字
  • 企业印花税算法
  • 免税农产品收入是否计入30万销售额
  • 新公司有减免税政策吗?
  • 小规模文化交流活动
  • 营改增安装服务费税率
  • 南方建筑主编
  • 科技研发政策
  • 已付款收到发票但没有做计提凭证
  • 财务做哪些工作
  • 如何在虚拟机上下载软件
  • 卸载了驱动程序会怎么样
  • 费用报销单正确填写格式
  • 园林绿化工程公司电话
  • php远程调用
  • win11 zen2
  • 苹果电脑 浏览器
  • 补缴社保会被税务稽查吗
  • 简易计税方法的适用主体有
  • linux内核与文件系统
  • 个人所得税的减数为2000元,实行日期为
  • 【强化学习探索01】Win10 下gym安装
  • thinkPHP5 tablib标签库自定义方法详解
  • react脚手架搭建项目
  • php curl 封装
  • mdadm命令用不了
  • 进口货物没有发票怎么入账,报税时怎么填
  • wordpress标签tag文章
  • 增值税农产品免税是哪一条
  • 独立核算的分公司责任承担问题
  • 往来款怎么做账
  • 财务中常有提到的问题
  • 出口不退税需要备案吗
  • 税票抵扣是多少个点
  • 个税清算所得税怎么计算
  • 抵扣的税可以退掉么?
  • 个体工商户开具房屋租赁发票
  • 设备维修费可以抵扣进项税吗
  • 其他应付款做账
  • 交了社保里面的钱去哪里了
  • 涉税信息声明怎么提供
  • 商业折让发票如何开
  • 股东追加投资怎么算
  • 专利转让费一般是多少
  • 公司给客户的礼品太差了还需要给客户吗
  • 出售无形资产净损失
  • 可供分配利润是未分配利润吗
  • 商场水电费应该由谁承担
  • sql server触发器主要针对下列语句创建
  • windows在哪里添加打印机
  • openeuler操作系统安装方法
  • xp从装系统
  • ubuntudde 中文
  • linux用户账户管理
  • win8怎么更改密码
  • shell脚本用法
  • service segment
  • eclipse窗口显示设置
  • linux shell脚本攻略(第3版)
  • android获取本地相册中图片
  • 抵扣怎么做账
  • 企业所得税年报职工薪酬纳税调整明细表
  • 珠海自助征信查询机
  • 中国进口奶粉关税税率表2019
  • 吉林省税务局发票流向查询系统
  • 上饶国资委领导班子成员名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设