笔记——浏览器内核,底层机制
问题:
-
现在的主流浏览器都有哪些?shell+core
-
它们的内核分别是什么?
主流浏览器:拥有自己独立内核的浏览器
括号里的是内核
- NetscapeNavigator(Gecko)——网景公司在94年出品
- Opera(Preston更新之后—>Blink)——挪威欧普拉软件公司
- IE(Trident)2015年之后更新为—>Edge(Chromium)
- Firefox(Gecko)
- Safari(Webkit)
- Chrome(Webkit,Chromium,Blink)
- 线程有几个?线程和进程什么关系?进程负责干嘛?
-
浏览器是一个多进程/多线程的应用程序
-
浏览器主进程(只有一个):主要负责协调控制、显示的效果、用户交互、前进后退按钮、新开/关闭页面等等
-
GPU渲染进程(显卡的独立单元):计算这个显示的效果eg:3D渲染
-
浏览器渲染进程(内核):
-
GUI(Graphical User Interface图形用户接口)渲染线程:负责解析HTML、CSS代码
-
JS解析引擎线程(单线程):负责解析JS并执行JS脚本
-
事件触发线程:负责触发事件的时候将事件放到事件队列里排队,由JS解析线程在队列里拿来执行(事件循环)
-
定时器触发线程:setTimeout()那些事件,有时间轴计时
-
异步网络请求线程:AJAX,找后端服务器拿数据,然后你可以去做别的解析,回来后拿过来放到队列里再做
-