web前端知识点归纳笔记:关于浏览器内核的多线程机制

一、什么是浏览器内核

浏览器内核即浏览器底层最核心和最基础的那一部分,它主要负责对网页当中的htmlcssJavaScript进行解释然后在浏览器当中进行渲染最终呈现给用户,也就是说内核的工作就是渲染,所以我们常常把浏览器内核称为渲染引擎(Rendering Engine)也称为布局引擎(Layout Engine)、排版引擎
另外,由于不同浏览器的渲染内核不同,对 htmlcssJavaScript的语法解释也存在差异(兼容问题),因此我们在开发过程中需要在不同内核的浏览器当中进行网页渲染效果的测试。

二、五大浏览器四大内核

五大主流浏览器分别为:IE,火狐(Firefox),谷歌(Chrome),Safari,Opera
四大内核分别是:Trident,Webkit,Blink,Gecko

对照表:
浏览器 内核
Chrome Blink
FireFox Gecko
Safari Webkit
Opera Blink
IE Trident

三、内核是浏览器的进程之一

我想说的是:浏览器内核对页面的渲染,其实就是浏览器的渲染进程即Renderer进程。该进程拥有多个线程,这些线程共同来完成页面的渲染任务。那么都有哪些线程呢,如下:

1、浏览器GUI(Graphical User Interface-----图形用户界面)渲染线程
  • 负责对浏览器界面进行渲染。
  • 当刷新或由于某些操作对界面局部渲染时,该线程会被执行。
  • 注意,GUI渲染线程JavaScript引擎线程是互斥的(不会同时执行的),即当JavaScript引擎线程执行时GUI线程会被冻结,GUI更新需要等到JavaScript引擎线程空闲时,才会执行。
2、JavaScript引擎线程
  • 负责解析、运行JavaScript脚本。
  • 一个标签页(渲染进程)中只会有一个JavaScript引擎线程运行JavaScript脚本。(JS是单线程的)
  • 同样注意,因为GUI渲染线程JavaScript引擎线程是互斥的,所以如果JS执行的时间过长,会造成页面的渲染不连贯,甚至渲染加载阻塞。
3、浏览器定时器触发线程(setTimeout、setInterval)
  • setTimeoutsetInterval所在的线程。
  • 由于JavaScript引擎是单线程的,如果处于阻塞线程状态势必会影响计时的准确性,所以浏览器中的定时器并不是由JavaScript引擎来计数的。
  • 该线程只是计时,一旦计时完毕后,会将触发的脚本添加到JavaScript引擎的处理队列中,等待JavaScript引擎空闲后再执行。
  • 注意,W3CHTML标准中规定,规定要求setTimeout中低于4ms的时间间隔算为4ms
4、浏览器事件触发线程
  • JS脚本的执行不会影响到html元素事件的触发,由于JS单线程关系,会将触发后需要执行的JS脚本添加到JavaScript引擎的处理队列中,当JavaScript引擎空闲时才会去执行。
  • 注意,该线程只是触发,触发后要执行的代码依然要放到JS引擎线程中去执行。
5、浏览器http异步请求线程
  • XMLHttpRequest在连接后会通过浏览器新开一个线程请求
  • 当状态发生变化时,如果之前有设置回调,会将这个回调再放入JavaScript引擎的处理队列中,再由JavaScript引擎执行。
    —————END—————
    [公众号回复“电子书”,送你经典前端电子书籍]
    喜欢本文的朋友们,欢迎关注微信公众号 张培跃,收看更多精彩内容
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容

  • 傍晚弟弟把昨天逛庙会的天灯拿出来,弟妹在上面写了“新年快乐”。然后就在院子中间点燃了,妈妈抱着小侄子,爸爸放下碗筷...
    念即起行阅读 161评论 0 0
  • Michael_NO1阅读 1,224评论 0 0
  • 昨天在和朋友讨论某P2P平台的时候,聊到了该平台的年化收益率。粗略地进行了一下计算,其实有的平台还是会设一些收益率...
    大侠叮咚叮阅读 431评论 13 3
  • 相麓探春晚, 城头现物华。 出门逢旧友, 回望叹繁花。 悠品葡萄酒, 聊炊野树茶。 微醺怀往事, 恍若梦天涯。
    湖畔渔夫阅读 212评论 0 2
  • 躺在柔和灯光下单调的床上 思考着和未咽下的食物和未知的女人 窗外流淌面包味道的车和紫色的人群 做着从未见过的紫荆花...
    伊卫行阅读 232评论 0 2