位置: 编程技术 - 正文

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)

  • 资产交换的涉税处理
  • 公司注销了账本还需保留吗
  • 工业土地摊销年限最新规定
  • 固定资产盘点折旧怎么算
  • 税款已交更正申报
  • 原材料的入账价值包括保险费吗
  • 怎样查是否为一类银行卡
  • 金蝶KIS专业版报表操作数非数值
  • 跨地区经营企业代码表从哪里找
  • 税收专用缴款书
  • 股息红利纳税地点
  • 变更企业性质企业怎么办
  • 固定资产出租的收入计入什么科目
  • 设备安装费计入设备成本吗
  • 预售 首付
  • 接手新公司涉税问题分析
  • 转账支票可不可以挂失止付
  • 收入与应收款
  • 增值税减免税如何处理
  • 处置打包债权如何缴纳个人所得税?
  • 研发人员工资加计扣除
  • 税法对弥补亏损的规定是什么?
  • 固定资产处置计算公式
  • 软件开发工资低
  • 计提的利息收入交所得税吗
  • 外资公司办事处职能
  • 在window10中可以使用什么窗口
  • 怎样将u盘制作成电脑系统启动盘?
  • 月末库存商品怎么记账
  • 财务费用冲销怎样做分录
  • mac如何打电话
  • PHP编程中的__clone()方法使用详解
  • 然后用u盘重装系统
  • 电脑出现一堆英文无法开机
  • 包装物如何做会计分录
  • 进程查看工具
  • php的get
  • 一场雷雨还是一阵雷雨
  • 固定资产售卖的账务处理
  • 圣米厄尔教堂
  • php获取当前时间戳函数
  • 固定资产闲置能报废吗
  • 与http缓存有关的header
  • 增值税减免怎么填写
  • html+css网页设计
  • 房产税和城镇土地使用税需要计提吗
  • 小于500的费用没有发票怎么做账
  • 营业利润是税前利润吗
  • 材料采购账户的借方登记什么
  • 企业股东变更流程及费用
  • 自然人扣缴系统怎么申报个税
  • 土地增值税清算全流程实战案例
  • 工商年报纳税总额包括滞纳金吗
  • 内账会计的主要工作
  • 债务抵销的条件
  • 收到外币收入怎么处理
  • 现金流量表每月要报吗
  • 办公设备折旧年限规定多少年
  • 人力资源外包服务费计入什么科目
  • 银行回单超过三个月可以补打吗
  • 电子承兑追索清偿的顺序
  • 医院药品过期放多久
  • 固定资产改变用途折旧处理
  • 私营企业固定资产法律制度
  • win7超级账户如何启用
  • 地图是英语如何改为中文
  • 计算机策略设置
  • win7系统点击计算机图标未响应
  • spoffice是什么意思
  • win8怎样设置将文件保存到d盘
  • opengl教学视频
  • linux快速启动终端
  • 风格的多样性举例说明
  • 全部删除文件快捷键
  • linux脚本自启
  • shell错误日志输出
  • jQuery插件库
  • python字典键值对个数
  • 如何查询个体工商户是查账征收还是核定征收
  • 卷烟批发环节的消费税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设