美文网首页
事件循环原理

事件循环原理

作者: crush_d872 | 来源:发表于2023-11-22 10:41 被阅读0次

浏览器进程模型

浏览器是一个多进程多线程的应用程序
为了避免互相影响,为了减少连环崩溃的几率,当启动浏览器后,它会自启动多个进程


image.png
1.浏览器进程

主要负责界面显示、用户交互、子进程管理等。浏览器进程内部会启动多个线程处理不同的任务

2.网络进程

负责加载网络资源。网络进程内部会启动多个线程来处理不同的网络任务

3.渲染进程

渲染进程启动后,会开启一个渲染主线程,主线程负责执行HTML、CSS、JS代码。
默认情况下,浏览器会为每个标签页开启一个新的渲染进程,以保证不同的标签页之间不互相影响

渲染主线程是如何工作的?

image.png

1.在最开始的时候,渲染主线程会进入一个无限循环
2.在每一次循环会检查消息队列中是否有任务存在。如果有,就取出第一个任务执行,执行完一个后进入下一次循环;如果没有,则进入休眠状态
3.其他所有线程(包括其他进程的线程)可以随时向消息队列添加任务。新任务会加到消息队列的末尾。在添加新任务时,如果主线程是休眠状态,则会将其唤醒以继续循环拿任务

相关文章

  • Qt事件循环原理

    之前在信号槽的时候讲到了如果connect的时候选择QueuedConnection,Qt会把槽函数包装成一个QM...

  • 关于 JavaScript 事件循环 Event Loop 的一

    浏览器 JavaScript 执行流程以及在 Node.js 中都是基于事件循环的。 了解事件循环的工作原理对于正...

  • jQuery小总结(2)

    事件委托: 原理:利用事件事件冒泡 作用:避免父元素里面的子元素过多(ul li),如果使用for循环的话,会太浪...

  • iOS runloop 原理讲解和常见问题分析

    iOS runloop 原理讲解 runloop 是通过内部维护的事件循环来对事件消息进行管理的一个对象,runl...

  • RunLoop 详解

    一、RunLoop简介 1、基本概念和原理   RunLoop 是通过内部维护的事件循环(Event Loop)来...

  • 事件委托的原理,优缺点

    事件委托是利用事件冒泡原理,让节点的父级代为执行事件。而不需要循环遍历元素的子节点,大大减少dom操作;缺点:1....

  • RunLoop 01 - 原理

    RunLoop 01 - 原理 RunLoop 的概念 一个 RunLoop 就是一个处理事件的循环,用来不停的调...

  • 浅谈JavaScript事件循环与Vue的批量异步更新策略

    在介绍事件循环之前,首先要明确以下几个关键概念。事件循环,同步和异步任务,宏任务,微任务。 一.事件循环 事件循环...

  • 浏览器原理-事件循环机制

    浏览器的渲染进程的主线程承担着大量的任务:DOM解析,javascript的解析执行,样式计算、布局渲染,接收用户...

  • 并发:事件循环 & asyncio

    1. 事件循环机制 1.1. 什么是事件循环 事件循环(Event Loop),即通过轮询方法监控事件; asyn...

网友评论

      本文标题:事件循环原理

      本文链接:https://www.haomeiwen.com/subject/xinbwdtx.html