位置: 编程技术 - 正文

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)

  • 小规模纳税人批发机动车
  • 生产车间维修费是制造费用还是管理费用
  • 清卡重用
  • 税盘没有及时清卡
  • 残保金滞纳金能抵扣吗
  • 12月工资1月发个税怎么算
  • 财务软件无形资产摊销几年
  • 报税界面
  • 外商投资企业是民营企业吗
  • 在途物资的运费放在哪个科目
  • 进项发票认证后暂不抵扣
  • 新办企业地税要备案吗
  • 盈余公积什么时候提取
  • 非银行支付机构条例(征求意见稿)
  • 外贸企业免征增值税
  • 用友软件报表公式
  • 专利年费应该入哪个科目
  • 用友软件查其他业务收入怎么查
  • 企业收缩案例
  • 鸿蒙系统 3.0
  • 设备安装用工程造价吗
  • windows 11任务栏没有网络图标
  • 代扣代缴个税手续费返还政策
  • win10右键菜单管理在哪打开
  • 投标保证金怎么退还流程
  • 留存收益是否计入成本
  • 通过mac地址查找ip的协议
  • 落枕怎么办怎么治疗
  • 前端开发csdn
  • 没有资质证书的公司可靠吗?
  • 残保金缴纳需要计提吗
  • 增值税附加税有什么
  • 红字发票抵扣联要装订到凭证里吗
  • 往来款的意思
  • 应付账款转入营业外收入会计分录
  • 帝国cms教程官方完整版
  • 新合同旧合同的法律依据
  • 帝国cms移动端
  • uni appp
  • 无形资产资产处置损益怎么算
  • 经营活动现金流量比率
  • 采购流程内容
  • 电算化会计档案论文答辩自述稿
  • 临时用工费用计入什么会计科目
  • 银行汇票的账务处理例题
  • 附加税多交了怎么抵税
  • 冲销未开票收入还需要申报吗
  • 技术服务行业增值税税负率
  • 房地产成本核算对象
  • 员工报销签字流程
  • 2021年财务新规定
  • 复利现值系数和复利终值系数
  • 其他债权投资有哪些科目
  • 主营业务收入是含税还是不含税
  • 农业合作社成本有哪些
  • 外账和内账怎么配合做账
  • mysql分表实践
  • win2003 安装iis
  • solaris 安装
  • windows 注册表命令
  • windows的设置
  • win10系统打印机脱机状态怎么恢复正常打印
  • ubuntu20.04怎么用
  • shell数值比较
  • centos为什么没有桌面
  • win8怎么关电脑
  • win8.1怎么优化才流畅
  • win7系统删除密码
  • 史上最全的windows 10 激活码
  • 折腾linux 没意义
  • shader开发实战
  • 通过手机号怎么查对方的位置
  • python基础总结
  • 银行人员司法查询给查错了,怎么办
  • 如何办理委托银行卡业务
  • 地税局跟税务局有什么区别
  • 实名办税人员承诺书范本
  • 福建电子税务局社保缴费操作
  • 年度申报个人所得税专项扣除多填了怎么办
  • 宾馆如何申请税务发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设