宏任务和微任务异步和单线程

一、什么是宏任务和微任务

                                  在这里插入图片描述

 js的逻辑执行机制是先执行同步的任务再执行异步的任务,而任务又分为宏任务和微任务,那么就是先执行微任务再执行宏任务。

二、异步和单线程

                    宏任务和微任务异步和单线程_第1张图片

 像这种情况new promise就是同步,它的回调就是异步。

1)所有的同步任务都在主线程上执行,行成一个执行栈。

2)除了主线程之外,还存在一个任务列队,只要异步任务有了运行结果,就在任务列队中植入一个时间标记。

3)主线程完成所有任务(执行栈清空),就会读取任务列队,先执行微任务队列在执行宏任务队列。

异步和单线程是相辅相成的,js是一门单线程脚本语言,所以需要异步来辅助

异步和同步的区别:

  • 异步不会阻塞程序的执行,
  • 同步会阻塞程序的执行,

 

你可能感兴趣的:(JS,p2p,linq,gnu)