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

宏队列与微队列

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

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

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

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

    事件循环

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

    任务队列包括

    闭包

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

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

    示例

    执行顺序解析

    执行结果

    相关文章

      网友评论

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

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