1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ntko web firefox跨浏览器插件_Web浏览器如何使用进程和线程

ntko web firefox跨浏览器插件_Web浏览器如何使用进程和线程

时间:2023-10-09 12:28:54

相关推荐

ntko web firefox跨浏览器插件_Web浏览器如何使用进程和线程

进程可以描述为应用程序的执行程序。 线程是存在于进程内部并执行其进程程序的任何部分的线程。 启动应用程序时,将创建一个过程。 该程序可能会创建线程来帮助其正常运行,但这是可选的。

一个进程可以要求操作系统启动另一个进程来运行不同的任务。 发生这种情况时,将为新进程分配内存的不同部分。 如果两个进程需要通话,则可以使用进程间通信(IPC)进行通话。 许多应用程序都设计为以这种方式工作,因此,如果工作进程无响应,则可以重新启动它,而无需停止正在运行应用程序不同部分的其他进程。

哪个过程控制什么?

浏览器:-控制应用程序,包括地址栏,书签,后退和前进按钮。 还处理Web浏览器的隐形,特权部分,例如网络请求和文件访问。

渲染器:-控制显示网站的选项卡内的所有内容。

插件:-控制网站使用的所有插件,例如Flash。

GPU:-与其他进程隔离地处理GPU任务。 它被分为不同的过程,因为GPU处理来自多个应用程序的请求并将它们绘制在同一表面上。

> Different processes pointing to different parts of browser UI

谷歌浏览器如何使用进程和线程

Chrome具有多进程体系结构,并且每个进程都是高度多线程的。 主要目标是使主线程(浏览器进程中的" UI"线程)和IO线程(用于处理IPC的每个进程的线程)保持响应。 这意味着将任何阻塞的I / O或其他昂贵的操作卸载到其他线程。

线程数

每个镀铬工艺都有

主线程

· 在浏览器进程(BrowserThread :: UI)中:更新UI

· 在渲染器进程(Blink主线程)中:运行大多数Blink

IO线程

· 在浏览器进程中(BrowserThread :: IO):处理IPC和网络请求

· 在渲染器进程中:处理IPC。

一些其他专用线程。

和一个通用线程池。

Firefox如何使用进程和线程

多年前,Mozilla对Firefox开发的未来做出了一个重大决定,这使得将多处理集成到现有浏览器中变得更加困难。 大约前,与Internet Explorer相比,Firefox脱颖而出的主要方式是通过对附加组件和扩展的支持。 但是,使浏览器流行的附加功能也使得添加多处理器支持变得困难。 因此,Mozilla致力于从其旧的附加组件模型过渡到对多浏览器Web扩展的支持,同时启动Electrolysis项目以创建可以支持多处理体系结构的新浏览器版本。

比较Chrome和Firefox

Chrome和Firefox现在都支持多线程,但是它们以不同的方式实现。 在Chrome浏览器中,您打开的每个标签都会有自己的内容处理过程。 十个标签,十个过程。 一百个标签,一百个过程。 这种方法可最大程度地提高性能,但您会在内存消耗和电池寿命方面付出巨额代价。 Firefox并没有采用这种方法来解决问题,而是默认情况下最多旋转四个内容处理线程。 在Firefox中,前4个标签分别使用这4个进程,其他标签则使用这些进程中的线程进行调整。 一个进程中的多个选项卡共享内存中已经存在的浏览器引擎,而不是每个选项卡都创建自己的浏览器。

> Chrome uses a separate content process and engine for each website instance, but Firefox reuses pr

Mozilla声称Firefox也比其他竞争性浏览器使用更少的内存,Chrome在64位模式下使用的内存比Firefox多1.77倍,在32位模式下使用的内存比Firefox多2.44倍。

> Firefox uses less memory than other browsers

为什么无法启动时Chrome变得过热

虽然Firefox和Chrome现在都使用多个进程运行,但Firefox的某些功能有所不同,以避免耗尽计算机的有限内存。

默认情况下,Chrome为您访问的网站的每个实例创建一个单独的内容进程。 在Chrome中使用10个网站打开10个不同的标签,您将有10个不同的过程。 这些进程中的每个进程都有自己的内存-具有浏览器引擎的实例。 Chrome中的一个打开的标签页通常会占用数百兆的RAM。 Chrome的开放式创建进程的方法可能会导致很高的内存使用率。

另一方面,Firefox使用更保守的方法来使用进程通常会导致Firefox使用的内存少于Chrome。 默认情况下,Firefox现在最多可以为网页内容创建4个单独的进程。 因此,您的前4个标签分别使用这4个进程,而其他标签则使用这些进程中的线程运行。 一个进程中的多个选项卡共享内存中已经存在的浏览器引擎,而不是每个选项卡都创建自己的浏览器。

(本文翻译自Jeewantha Lahiru的文章《How web browsers use Processes and Threads》,参考:/@jeewanthalahiru/how-web-browsers-use-processes-and-threads-9f8f8fa23371)

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