位置: 编程技术 - 正文

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)

  • 变更税务所怎么操作
  • 账账核对的基本内容
  • 以个人名义汇货要交税吗
  • 促销费用计入销售费用哪个科目
  • 小型微利企业企业所得税优惠政策2021年
  • 营业总收入包括营业外收入吗
  • 发债评级机构 有哪些
  • 公司自建房屋如何进行入账?
  • 单位房子没有房产证能不能买
  • 免征政府性基金预缴税款
  • 上期留抵税额计算
  • 税务行政强制行为遵循的原则
  • 工资计税基数
  • 公司增资需要什么
  • 无形资产怎么核算成本
  • 出口货物免抵退申报明细录入怎么填
  • 现金比率在多少比较合适
  • 增值税预缴税款表
  • 初级会计一共考几门课程
  • 微软2003系统
  • qconsvc.exe - qconsvc是什么进程 有什么作用
  • win10移动热点开关自动弹回
  • PHP:mb_decode_mimeheader()的用法_mbstring函数
  • 企业支付宝收到钱到哪里
  • 超过两年的发票还可以查询吗
  • 房屋租赁费如何结转成本
  • 交完社保
  • 资产负债表中其他综合收益怎么填
  • 科目余额表和资产负债表的金额不一致的原因
  • gridviewcolumn
  • php动态语言
  • python 3.4.3 shell
  • 小规模纳税人可以开专票吗
  • 固定资产处置营业外支出
  • 预收账款怎么变成应收
  • 购进固定资产的进项税计入成本吗
  • 织梦作坊的微博
  • 增值税专用发票上注明的价款含税吗
  • 海关票怎么做账
  • 建筑工程发票来自哪里
  • 血液制品增值税税率
  • 加计扣除的增值税怎么做账
  • 管理费用冲减其他应付款分录
  • 新办公司实收资本怎么算
  • 库存现金的主要内容有哪些
  • 预收账款挂账多长时间必须确认收入
  • 预缴税款如何做账
  • 失控发票未付款什么意思
  • 阿里巴巴新任董事长叶
  • 计提借款利息怎么算
  • 应收账款计提坏账比例
  • 房屋建筑物固定资产标牌图片
  • 确认应付职工薪酬如何计算
  • 职工薪酬一般计入哪些科目进行核算
  • 待摊费用和预付费用的区别
  • 会计中的一级科员是什么
  • 咨询费的支出范围
  • 发票邮寄到家
  • 购买的办公用品需要入库出库吗
  • 如何结转生产成本至库存商品
  • 总账的建立分为哪几个步骤
  • 消费税的科目设置在哪里
  • Vista、XP、Windows7下非会员如何去除QQ2009的广告
  • deepin直接安装
  • LINUX下的磁盘编辑工具
  • win7提示内部版本7601副本不是正版
  • 如何禁用系统
  • ExtJs3.0中Store添加 baseParams 的Bug
  • linux查看多线程
  • 代码sd是什么意思
  • 批处理自动确定
  • nodejsorg
  • c语言 ls
  • 开发日记3雷火剑
  • unity打包安卓apk
  • 深圳市税务局官网电话号码
  • 体检机构 保险
  • 江苏电子税务局网站官网
  • 江苏个体户年报怎么填
  • 辽宁地税电子税票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设