位置: 编程技术 - 正文

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)

  • 收到以前年度退回的所得税
  • 讲课费怎么代扣代缴个人所得税
  • 增值税征税范围及税率
  • 支付给个人的佣金费用需要发票吗
  • 差额征收企业指什么企业
  • 现金流量表存货增加是负的
  • 发票服务名称都有什么
  • 小微企业增值税优惠政策最新2023
  • 股本与注册资本实收资本的区别
  • 业务招待费的进项怎么算
  • 政府会计基本准则的附则有
  • 发票金额开错说明如何书写?
  • 年会的奖金入什么科目
  • 水电费差价收入计算增值税公式是怎样的?
  • 印花税资金账簿税率是多少
  • 园林绿化税收减免政策
  • 关于增值税的问题有哪些
  • 增值税和增值税额的区别
  • 19年新会计制度
  • 预付专利转让费计入什么科目?
  • 企业汇算清缴后还能更正吗
  • 基本户没开 可以销户吗
  • 购销合同印花税税率
  • 购进货物无偿赠送其他单位
  • win10ie浏览器没有internet选项
  • 文化事业建设税计税依据是
  • 华为鸿蒙harmonyos刷机
  • 鸿蒙系统值得升级嘛
  • 应扣未扣税款对纳税人的处理
  • php文件扩展名是什么
  • php如何实现多线程
  • 契税计税依据及计算方式
  • 天堂之路歌曲
  • 人脸识别测颜值,al
  • 按钮实现开关功能
  • 会计期初余额和期末余额计算公式
  • vue3版本网页小游戏
  • c语音进阶
  • php返回数组
  • 进项税额转出结转会计分录怎么写
  • 给最爱的他
  • 营业外收入账务处理方法
  • 企业所得税汇算清缴操作流程
  • 汽油费入什么会计分录
  • 携程 海外
  • 原材料的会计处理有哪些
  • MSSQL2005在networkservice权限运行附加数据库报(Microsoft SQL Server,错误: 5120)
  • 企业处置子公司
  • 费用报销票跨月可以用吗
  • 中级财务会计报告心得体会
  • 代理进口的增值税是多少
  • 生产线更新改造替换的旧设备
  • 房屋租赁违约金比例
  • 电子支付支付是什么意思
  • 认缴投资额什么意思
  • 施工图审查费计算公式
  • 单位固定资产统计表
  • mysqldump命令在哪里执行
  • ubuntu选择语言
  • 电脑预读文件
  • explorer.exe进程文件
  • centos7怎么配置ip地址和网络
  • win7旗舰版显示器亮度调节
  • centos安装zsh
  • win8电脑设置打不开怎么办
  • windows10 14393版本
  • win7右下角的网络连接不显示
  • 深入理解新发展理念心得体会3篇
  • linux怎么设置
  • python里的迭代器
  • unity3d 依赖注入
  • js如何使用
  • html css js 实战案例
  • jquery中如何获取元素?
  • js canvas绘制图片
  • javascript对象的常用方法
  • jquery查找指定元素
  • androidstudio和idea
  • 税收缴款书税务收现专用的开票人是谁
  • 韩国工资多少人民币
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设