浏览器多进程多线程;
- 1个进程有多个线程
浏览器有三进程
- 浏览器进程
- 网络进程
- 渲染进程
3.1 渲染主线程负责渲染 HTML JS CSS
如何理解js的异步?
js是一门单线程的语言,这是因为它运行在浏览器的渲染主线程中,而渲染主线程只有一个。而渲染主线程承担诸多工作,渲染页面,执行,js都在其中运行、
如果使用同步的方式,就可能导致主线程阻塞,从而导致消息队列中很多其他任务无法得到执行。
所以浏览器采用异步的方式来避免。具体做法是当某些任务发生时,比如计算器 网络 时间监听,主线程讲任务交给其他线程去处理,自身立即结算任务的执行,转而执行后续代码。当其他线程完成时,将事先传递的回调函数包装成任务,加入消息队列的末尾排队,等待主线程调度执行。
在这种异步模式下,浏览器永不阻塞,从而最大限度的保证了单线程的流畅运行
3.2
宏任务:
网友评论