位置: 编程技术 - 正文

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)

  • 关联企业间借款利息扣除规定
  • 什么是消费税的计税销售额?价外费用是什么?
  • 平均税额怎么算
  • 公司去社保局开什么发票
  • 住房贷款专项扣除
  • 工会费个税税前扣除标准
  • 新公司利润表怎么填
  • 稳岗补贴给谁
  • 小企业无形资产取得的账务处理
  • 国有资产报废如何委托拍卖公司
  • 代销商品会计分录步骤
  • 产品成本核算方法体系的内容包括
  • 企业增加注册资本流程
  • 增值税普票跨月怎么冲红
  • 增值税发票遗失证明
  • 税法关于劳务费用的规定
  • 怎么确定高新产品
  • 建筑服务一般纳税人预缴税率
  • 环保设备的折旧计入
  • 外贸企业运输费用占总成本比例
  • 税率税额是星号什么意思
  • 在卖场当中常见的问题
  • win10开机会自动打开网页
  • 为什么我的win10
  • 上市公司发行债券股价会涨吗
  • pssvc.exe - pssvc是什么进程 有什么用
  • PHP:xml_set_element_handler()的用法_XML解析器函数
  • ffmpeg安装教程linux
  • 小规模纳税人免征增值税的账务处理
  • win11镜像文件怎么复制到系统U盘
  • 弗拉维亚王朝
  • 无偿划转长期股权投资
  • PHP:imagepsencodefont()的用法_GD库图像处理函数
  • 蓬莱德尔塔
  • php获取目录所有文件
  • 手撕代码是啥意思
  • php curlfile
  • 建筑业成本核算流程
  • 个体工商户季报还是月报
  • 企业间借款利息开票税收分类编码
  • 对外捐赠非货币性资产的会计处理
  • mysql怎么给字段添加中文备注
  • 劳务费与应付职工薪酬的区别
  • 管理费用冲减其他应付款分录
  • 水利建设专项基金土增税清算能扣除吗
  • 工程项目买保险没有合同 情况说明怎么写
  • 新收入准则 2021
  • 行政单位与事业单位净资产的比较
  • 影响企业所得税的因素
  • 政府会计工资代扣工会会费
  • 公司账户的钱如何转出
  • 筹建期的开办费开业后如何处理
  • 固定资产折旧如何计提
  • 建账选用什么会计制度
  • win7鼠标右键一闪就没了
  • freebsd9.3安装教程
  • win10怎么取消禁用
  • linux shell alias
  • win10d盘无法格式化,说另一个正在使用
  • WIN10系统中软件打开找不到网络共享盘
  • bios升级失败后如何恢复
  • win8.1使用技巧
  • w8系统ie浏览器在哪
  • win8怎么进去安全系统
  • linux中安装命令
  • node.js详解
  • 批处理常用命令总结
  • opengl顶点坐标纹理坐标关系
  • dos常用命令与批处理文件
  • KBEngine v0.4.0 发布,分布式游戏服务端引擎
  • bootstrap基础教程pdf
  • javascript的用法
  • 广东税务待遇
  • 上海市税务局领导简介
  • 个人所得税选择那种方式更好
  • 国家税务系统
  • 注销税务登记存货如何处理
  • 增值税专用发票和普通发票的区别
  • 中国浙江到英国伦敦多少公里
  • 合肥哪里可以注销电信卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设