node.js中的process.nextTick()和setImmediate()
来源:互联网 发布:域名被腾讯封了怎么办 编辑:程序博客网 时间:2024/05/23 12:00
- process.nextTick()和setImmediate()在node.js中都是将回调函数延时执行。跟setTimeout(function(){}, 0);类似,但性能不一样,setTimeout定时器是采用红黑树,process.nextTick()是用数组,setImmediate()是用链表。
- 先看看process.nextTick()的代码
process.nextTick(function(){ console.log("延迟执行");});console.log("正常执行");
结果为:setImmediate()的代码为:
setImmediate(function(){ console.log("延迟执行"); }); console.log("正常执行");
结果为:两个结果一样,我们可以试试有什么不同,
process.nextTick(function(){ console.log("nextTick延迟")});setImmediate(function(){ console.log("setImmediate延迟");});console.log("正常执行");
结果为:改变两个函数顺序结果还是一样。
所以nextTick()的回调函数执行的优先级要高于setImmediate();
process.nextTick()属于idle观察者,setImmediate()属于check观察者.在每一轮循环检查中,idle观察者先于I/O观察者,I/O观察者先于check观察者.
process.nextTick()在每轮循环中会将数组中的回调函数全部执行完.
而setImmediate()在每轮循环中执行链表中的一个回调函数.
0 0
- node.js中的process.nextTick()和setImmediate()
- Node.js中的setImmediate()与process.nextTick
- node.js中的setImmediate()与process.nextTick()
- node.js中的定时器nextTick()和setImmediate()区别分析
- node.js中的定时器nextTick()和setImmediate()区别分析
- Process.nextTick 和 setImmediate
- 《深入浅出node.js》——setImmediate()与process.nextTick()
- process.nextTick和setImmediate的区别
- setImmediate and process.nextTick
- node异步API setTimeout,setInterval,process.nextTick,setImmediate详解
- node.js process nextTick作用
- setTimeout和setImmediate以及process.nextTick的区别
- Node.js中nextTick、setTimeout、setImmediate的区别
- 理解 Node.js process.nextTick() {Understanding process.nextTick()}
- 理解 Node.js 里的 process.nextTick()
- 理解 Node.js 里的 process.nextTick()
- Node.js 里的 process.nextTick()
- 理解 Node.js 里的 process.nextTick()
- linux 出行日记(3)
- Turkey Burgers with Smashed Avocado and Pickles
- C# SQLiteHelper类似SqlHelper类实现存取Sqlite数据库
- 用SecureCRT上传下载文件(SSH协议)
- java 注解2
- node.js中的process.nextTick()和setImmediate()
- 快速排序算法
- eclipse的使用技巧(一)
- 维基百科简体中文语料的获取
- 图片的缩放源代码与使用
- hdu 1753 大明A+B
- el 表达式判断
- 使用bitmap处理海量数据
- JS测试框架-Jasmine简介