美文网首页
宏队列与微队列

宏队列与微队列

作者: 仔崽06 | 来源:发表于2020-03-31 15:53 被阅读0次

1.javascript是单线程,基于事件循环,非阻塞IO的

特点:处理I/0的应用,不适合cpu运算密集的应用.

说明:事件循环中使用一个事件队列,在每个时间点,系统只会处理一件事情,即使电脑有多个cpu核心,也无法并行处理多个事件

事件循环

Event Loop,不管是前端还是移动端等开发,都离不开事件循环机制,它会循环监听任务,并在适当的时机取出,执行和释放任务,更新UI等操作更新ui渲染界面比较耗时,不同的渲染引擎有自己的一套渲染时机逻辑,决定要不要马上执行更新,更新ui成本比较大.

任务队列包括

闭包

闭包特点:1.在一个函数内部定义另外一个函数,并返回内部函数或者立即执行内部函数.2.在内部函数可以读取外部函数定义的局部变量.3.让局部函数的变量始终保存在内存当中.也就是说垃圾回收机制无法回收.

js执行时有两个异步队列:宏队列与微队列,优先执行微队列中的任务.每次执行完宏队列中的任务后,都会查看微队列中是否有任务.假如有任务则先执行微队列中的任务.再执行宏队列中的任务.执行顺序:微队列->宏队列->微队列->宏队列.(浏览器会先执行一个宏任务:script)

示例

执行顺序解析

执行结果

相关文章

  • 宏队列与微队列

    1.javascript是单线程,基于事件循环,非阻塞IO的 特点:处理I/0的应用,不适合cpu运算密集的应用....

  • 宏队列与微队列

    js执行时有两个异步队列:宏队列和微队列。优先执行微队列中的任务,而且每次执行完宏队列中的任务后,都会查看微队列中...

  • 宏队列与微队列

    一、原理图 二、定义说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的列队 宏列队:用来保存待执行的...

  • 2018-06-08 宏任务和微任务

    js先把宏任务放进宏任务队列里,再把微任务放进微任务队列里,执行的时候先执行宏任务队列里的一个任务,再把微任务队列...

  • JS 异步之宏队列 与 微队列

    # 前言 JS 中用来存储待执行回调函数的队列包含 宏队列 和 微队列 宏队列:用来保存待执行的宏任务(回调),比...

  • 微任务和宏任务

    JS是单线程的,可以把这个线程叫做主线程,主线程中包含宏任务队列和微任务队列,宏任务所在的队列就叫宏任务队列,微任...

  • 关于宏任务微任务的题

    第一道题: 解析:js任务队列有两种,宏任务队列,微任务队列。js的事件循环调度的就是宏任务队列。一个宏任务执行完...

  • Javascript-宏队列与微队列

    背景 当我们忙于公司业务开发,习惯于control+c、control+v这种机械化操作时,我们将会离我们的理想越...

  • JavaScript 异步编程

    同步模式与异步模式 时间循环与消息队列 异步编程的几种方式 Primise异步方案 宏任务 /微任务队列 Ge...

  • 循环的过程

    当某个宏任务执行完后,会查看是否有微任务队列。如果有,先执行微任务队列中的所有任务,如果没有,会读取宏任务队列中排...

网友评论

      本文标题:宏队列与微队列

      本文链接:https://www.haomeiwen.com/subject/hfuyjctx.html