2019独角兽企业重金招聘Python工程师标准>>>

1、setTimeout()、setInterval()

和浏览器的api是一致的,分别是单次和多次定时执行任务。

实现的原理和异步IO比较类似,这是不需要IO线程池的参与

2、process.nextTick()

为了实现立即异步执行一个任务,而不用在事件队列中,等待事件循环轮询到

setTimeout(fn,0)可以做到,但却较为浪费性能,更高效的选择是使用process.nextTick()。

每次调用process.nextTick()方法,只会将回调函数放入队列中,在下一轮Tick时取出执行。

eg:

process.nextTick(function(){

console.log("ssss");

})

3、setImmediate()

和process.nextTick()方法十分类似。但优先级低于process.nextTick()

这是由于观察者的优先顺序决定的:在每个轮询检查中,

idle观察者 > IO观察者 > check观察者

process,nextTick()属于idle观察者,setImmediate()属于check观察者

转载于:https://my.oschina.net/lcl6659/blog/1801438

Node:非IO的异步API相关推荐

  1. node - 非阻塞的异步 IO

    node - 非阻塞的异步 IO 每当我们提起 node.js 时总会脱口而出 事件驱动.非阻塞I/O 和 单线程,所以我总结了以下几点对这三项概念的阐述,不一定正确仅仅代表个人观点. 单线程 当一个 ...

  2. 【多线程】0.理解一下5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO

    5种IO模型.阻塞IO和非阻塞IO.同步IO和异步IO 看了一些文章,发现有很多不同的理解,可能是因为大家入切的角度.环境不一样.所以,我们先说明基本的IO操作及环境. 本文是在<UNIX网络编 ...

  3. AIO,BIO,NIO:同步阻塞式IO,同步非阻塞IO,异步非阻塞IO

    BIO,同步阻塞式IO,简单理解:一个连接一个线程 NIO,同步非阻塞IO,简单理解:一个请求一个线程 AIO,异步非阻塞IO,简单理解:一个有效请求一个线程 IO:阻塞IO BIO:同步阻塞IO.服 ...

  4. java 异步 阻塞io_非阻塞IO与异步IO以及Java实现

    小编典典 那么,实际上什么是"非阻塞异步IO"? 要回答这个问题,您必须首先了解没有 阻塞异步I / O 这样的事情.异步的概念要求没有等待,没有阻塞,没有延迟.当您看到 非阻塞异 ...

  5. 5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO

    5种IO模型.阻塞IO和非阻塞IO.同步IO和异步IO 看了一些文章,发现有很多不同的理解,可能是因为大家入切的角度.环境不一样.所以,我们先说明基本的IO操作及环境.本文是在<UNIX网络编程 ...

  6. 【死磕NIO】— 阻塞IO,非阻塞IO,IO复用,信号驱动IO,异步IO,这你真的分的清楚吗?

    通过上篇文章([死磕NIO]- 阻塞.非阻塞.同步.异步,傻傻分不清楚),我想你应该能够区分了什么是阻塞.非阻塞.异步.非异步了,这篇文章我们来彻底弄清楚什么是阻塞IO,非阻塞IO,IO复用,信号驱动 ...

  7. 【网络编程】同步IO、异步IO、阻塞IO、非阻塞IO

    IO分两阶段: 1.数据准备阶段:在该阶段,根据是否等待数据准备,将IO分成阻塞和非阻塞: 2.内核空间复制回用户进程缓冲区阶段:在该阶段,只要程序需要等待复制完成,才能往下运行(尽管这个时间很短), ...

  8. 同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO

    在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作. 在比较这两个模式之前,我们首先的搞明白 ...

  9. java epoll select_Java 非阻塞 IO 和异步 IO

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 作者 | HongJie 链接 | javadoop.com/post/nio-and-aio 本文将介绍非阻塞 IO 和异步 IO,也就是 ...

最新文章

  1. 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
  2. json_decode到数组
  3. 任意两点最短路floyd算法matlab,多源最短路——Floyd算法
  4. matlab驱动器有什么用,mongo-matlab-driver如何使用
  5. linux route命令的使用详解(转)
  6. 为什么 Go 模块在下游服务抖动恢复后,CPU 占用无法恢复
  7. apache 伪静态 (转)
  8. 【转】Java删除文件夹和文件
  9. 为你的网站加上SSL,可以使用HTTPS进行访问
  10. Vue性能优化:图片与组件,如何实现按需加载?
  11. Node.js全栈开发笔记与心得
  12. 游戏云服务器应该怎么选
  13. 浅谈机器学习-回归与分类的区别
  14. 深圳计算机专业中专学校,深圳中专学校
  15. Java 学习 类和对象练习 设计一个类Armor护甲 继承Item类并且额外提供一个属性ac: 护甲等级 int类型 实例化出两件护甲 名称 价格 护甲等级 布甲 300 15 锁子甲 500 40
  16. Oracle 10G RAC ASM - 控制文件多路存储
  17. Prometheus配置企业微信报警
  18. 在系统grub.cfg里面设定关闭 aspm
  19. 更改图像长宽 厘米为单位
  20. Linux,ubuntu 格式化移动硬盘

热门文章

  1. linux 能访问内网,但不能访问外网?解决方案
  2. 对《软件工程》第四章的理解
  3. Why HashMap Extends AbstractMap and Implement Map
  4. (转)Unity Assets目录下的特殊文件夹名称(作用和是否会被打包到build中)
  5. if(window.event) e = window.event
  6. 【Linux 驱动】第九章 与硬件通信
  7. 推荐一些算法方面的好书
  8. python画心形图像
  9. Python正则表达式初识(二)
  10. mysql udate 充值_分享下一个mysql的充值记录系统