资讯专栏INFORMATION COLUMN

从现象看浏览器中js单线程运行

yagami / 2401人阅读

摘要:浏览器创建进程的现象如图所示默认的情况下打开浏览器,会创建以上进程。主要的三个为浏览器进程,进程,和一个默念的标签页进程。当我们浏览某个网页的时候,引擎就会切换到这个网页线程上运行。

1.浏览器创建进程的现象


如图所示默认的情况下打开浏览器,会创建以上进程。主要的三个为:浏览器进程,GPU进程,和一个默念的标签页进程。当打开浏览器的时候,浏览器也会为你开启的每一个插件创建一个进程。

当我们点击创建一个新的标签页时,浏览器同样会创建一个新的进程

2.创建线程的现象

当打开多个空白标签页时,浏览器并不会为每一个空白标签创建一个进程。而是创建一个线程。

从上图可以得出结论,一个域名(包含子域名)共享一个进程。从这个进程中的任何一个线程网页中新打开一个标签页(比如通过标签链接打开),都会新建一个线程。

结论:
1.默念有浏览器进程,GPU进程,和打开插件的进程
2.新建标签,并输入不同域名,会创建一个进程
3.在同一个进程下,打开的标签页,都是隶属这个进程下的线程,如在百度搜索下,点击进入react网站

3.对js单线程运行的理解

在windows的任务管理器上,我们会发现,当前激活的标签页,会在主进程下的线程上运行。
所以,我认为我们每打开一个网页标签,浏览器都会创建一个线程。当我们浏览某个网页的时候,js引擎就会切换到这个网页线程上运行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93207.html

相关文章

  • 关于DOM操作是异步的还是同步的相关理解

    摘要:关于异步应该很多地方都说过,是单线程的,严格的说,是指引擎中负责解释和执行代码的线程只有一个,除此之外,其实还有事件触发线程请求线程等,因此,应该说同步是单线程可能更准确些。 作者:心叶时间:2019-03-08 09:45 我的理解 先列出我的理解,然后再从具体的例子中说明: DOM操作本身应该是同步的(当然,我说的是单纯的DOM操作,不考虑ajax请求后渲染等) DOM操作之后导...

    jayzou 评论0 收藏0
  • 览器多进程到JS线程JS运行机制最全面的一次梳理

    摘要:如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程浏览器内核多线程单线程运行机制的区别。因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料,从浏览器多进程到单线程,将引擎的运行机制系统的梳理一遍。 前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------超长文+多图预警,需要花费不少时间。---------- 如果看完本文后,还...

    wanghui 评论0 收藏0
  • JavaScript线程事件循环(Event Loop)那些事

    摘要:概述本篇主要介绍的运行机制单线程事件循环结论先在中利用运行至完成和非阻塞完成单线程下异步任务的处理就是先处理主模块主线程上的同步任务再处理异步任务异步任务使用事件循环机制完成调度涉及的内容有单线程事件循环同步执行异步执行定时器的事件循环开始 1.概述 本篇主要介绍JavaScript的运行机制:单线程事件循环(Event Loop). 结论先: 在JavaScript中, 利用运行至...

    Shisui 评论0 收藏0
  • 探秘JS的异步线程

    摘要:对于通常的特别是那些具备并行计算多线程背景知识的来讲,的异步处理着实称得上诡异。而这个诡异从结果上讲,是由的单线程这个特性所导致的。的特性之一是单线程,也即是从头到尾,都在同一根线程下运行。而这两者的不同,便在于单线程和多线程上。 对于通常的developer(特别是那些具备并行计算/多线程背景知识的developer)来讲,js的异步处理着实称得上诡异。而这个诡异从结果上讲,是由js...

    cooxer 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<