100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 同步异步 JS执行机制 事件循环

同步异步 JS执行机制 事件循环

时间:2024-07-19 08:44:37

相关推荐

同步异步 JS执行机制 事件循环

文章目录

单线程同步异步同步任务异步任务JS执行机制异步进程处理事件循环—event loop(这里主要是说浏览器事件循环)

单线程

JS的一大特点就是单线程,也就是同一时间内只能做一件事

这意味着所有的任务都需要排队 这样可能会造成页面的渲染不连贯

为了解决这个问题 H5中提出了Web Worker标准 运行JS创建多个线程 于是出现了同步异步

同步

前一个任务结束后再执行后一个任务 程序的执行顺序与任务的排列顺序是一致的、同步的。

异步

在做一件事的同时可以做其他的事情 创建多线程。

同步任务

同步任务都在主线程上执行,形成一个执行栈

异步任务

JS的异步是通过回调函数实现的,形成一个任务队列也称消息队列,常见的异步任务:

1.普通事件,eg: click、resize等

2.资源加载,eg: load、error等

3.定时器,eg: setInterval、setTimeout等

JS执行机制

1.先执行执行栈中的同步任务;

2.异步任务(回调函数)放入任务队列中

3.一旦执行栈中的所有同步任务执行完毕,系统会按次序读取任务队列中的异步任务,则被读取的异步任务结束等待状态,进入执行栈开始执行。

异步进程处理

普通事件只有在事件发生之后异步任务才会被异步进程处理放到到任务队列中去。

事件循环—event loop(这里主要是说浏览器事件循环)

由于主线程不断重复获得任务、执行任务、再获取任务、再执行,这种机制就被称为事件循环(event loop)。

说明:该图出自b站pink老师视频的截图,如侵私删。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。