位置: 编程技术 - 正文

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)

  • 普票税率错了要收回作废吗
  • 金税维护费全额抵扣
  • 应交税费待抵扣进项税额
  • 应纳税所得额是利润总额吗
  • 小规模纳税人进货分录
  • 销项税能抵扣么
  • 借款当月算利息吗
  • 年报和汇算清缴报表数字不一致
  • 小型微利企业申请
  • 职工享受工伤保险
  • 住房补贴是不是编制才有
  • 小型微利企业如何计算所得税
  • 政府给的慰问金叫什么
  • 出口退税计算方式
  • 住宿费可以开会议费吗
  • 土地增值税哪些可以加计扣除
  • 契税与印花税能抵扣吗
  • 增值税普通发票和普通发票的区别怎么交税
  • 汽车修理费需要交印花税吗
  • 所得税不能税前扣除项目
  • 奖金发当月还是上月
  • 印花税是当月交还是次月交
  • 月底结账哪些科目有余额
  • 705元大写金额怎么写的
  • 在建工程可以质押吗
  • 缴纳的权利许可有哪些
  • 电脑没有声音问题
  • win10移动热点开关自动弹回
  • 其他应付款转营业外收入需要交增值税吗
  • php_sapi_name
  • php技巧
  • 无形资产的摊销年限不得低于多少年
  • 大城遗址公园
  • 物业费开增值税专用发票
  • 医院产生的相关法律法规
  • 挂靠的项目怎么做账
  • Yii2 assets清除缓存的方法
  • fasternet高效上采样模块
  • c++stl详解
  • source命令怎么用
  • php websocket教程
  • PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
  • 收到股东投资款现金流量表入哪一项
  • 分公司二季度安全生产分析会内容
  • 销售发票重复开库存商品如何处理?
  • sqlyog提示
  • 厂区道路算建筑面积吗
  • 原始凭证分割单可以入账么
  • 不动产用于集体福利进项税额抵扣吗
  • 开票人是管理员可以报销吗
  • sql随机抽取
  • 厂房房租发票
  • 使用积分换取物的软件
  • 应收账款计提坏账比例
  • 城镇土地使用税百度百科
  • 待摊费用年底能够有余额么
  • 固定资产为
  • 带息票据与不带息票据
  • 客观原因怎么写
  • 如何提取工会经费的钱
  • 待处理财产损益借贷方向
  • node使用mysql
  • MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
  • windows进程数
  • win7系统一键还原方法
  • 电脑百度搜索
  • ubuntu能玩什么
  • linux关机后机器还亮着
  • Win7出现系统恢复选项怎么办
  • linux ping命令的用法
  • cocos做游戏
  • Knockout visible绑定使用方法
  • jquery validate表单校验
  • websocket解决跨域
  • javascript例题
  • js中的
  • android开发—01开发环境的搭建
  • js修改url
  • 如何查询企业股票代码
  • 90平房子税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设