位置: 编程技术 - 正文

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)

  • 耕地占用税的征收标准
  • 发票没有纳税人识别号怎么重开
  • 由旅行社开具的电子普票代订机票能抵扣税吗?
  • 游戏公司收入确认方法
  • 展位费怎么入账
  • 减免的城建税怎么计算
  • 工资算管理费用还是生产成本
  • 增值税留抵税额计入什么科目
  • 其他应收款账目
  • 适用会计制度备注怎么填?
  • 资产损失企业所得税扣除
  • 小企业工资薪酬制度
  • 权责发生制和收付实现制是会计基础吗
  • 未发货先开票怎么结转成本
  • 公司给客户退款会计分录
  • 出租包装物没收押金
  • 海关进口关税专用缴款书可以抵扣吗
  • 对方增值税发票丢失怎么办
  • 旅行社差额纳税开专票吗 会议会展
  • 耕地占用税和土地使用税的区别
  • 通用申报表个人所得税应税项怎么填
  • 外商投资企业外债额度
  • 研发费用的检测费指的是什么内容
  • 高温津贴的发放
  • 应收账款结转下年要画红线吗
  • 申报印花税填表过程
  • 广告公司进项税有哪些
  • 工资计提金额
  • 收到投资款如何记账
  • 公司章程认缴时效是多久
  • 社保公积金代缴
  • 贸易公司出口是什么意思
  • 年末利润分录
  • 农产品进项转出的规定
  • 开具给个人的发票哪里查询
  • php版本常用的排版软件
  • 营改增之后账务怎么处理
  • 房地产企业土地增值税预缴
  • 预付款不退如何投诉
  • 技术转让所得的税收优惠
  • 向境外支付技术提成费需要提交什么材料
  • 生产企业成本会计难吗?
  • 增值税需不需要计提
  • 进项税额资产还是负债
  • 资产负债表中其他流动资产包括哪些科目
  • 最新人工智能软件chingt
  • 预提费用多提汇算清缴怎么做账
  • atq命令 显示用户待执行任务列表
  • 管家婆系统能否查询上月库存明细
  • 员工出差过程中意外死亡算工伤吗
  • 税控服务费减免会计分录
  • 企业内部控制的概念
  • mysql忘了密码
  • 个人取得劳务报酬个人所得税
  • 资产负债表中应收账款的计算公式
  • 日记总账的适用范围
  • 缴纳的工会经费现金流量表怎么记
  • 小规模纳税人的增值税计入成本吗
  • 本年计算扣除限额的基数计算公式
  • 珠宝行业的会计处理方式
  • 企业为职工租房合法吗
  • 坏账准备的计提分录
  • 企业现金预算包括什么
  • 分包开给总包的票,能不能抵扣
  • 营业外收入适用的会计准则
  • 代开的专票作废了怎么做账?
  • sql,join
  • delete from 表名 where
  • qpso算法
  • solaris 磁盘管理
  • un安装失败
  • 你不知道的关于现代主义的故事
  • CentOS技巧:减小Linux swap分区的方法
  • win10扫雷在哪打开
  • windows7宽带连接断开怎么办
  • 桌面预览怎么设置
  • 创建ie浏览器
  • 浅谈python
  • 捐赠收入如何交印花税
  • 租房税多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设