首页 > 其他分享 >浏览器的事件循环机制

浏览器的事件循环机制

时间:2023-02-15 13:13:41浏览次数:29  
标签:浏览器 渲染 js 循环 事件 进程 机制

想要理解浏览器的事件循环机制,首先的了解浏览器的本身

一,浏览器的多进程的实现方式,主要的进程有三个

1.浏览器进程(主要处理用户交互)

2.网络进程(主要处理网络请求)

3.渲染进程(主要负责解析 html css js 等页面渲染)

注意:目前谷歌浏览器的 一个标签页是一个单独的进程


二,事件循环发生于渲染进程中的渲染主线程中

   事件循环是异步的实现方式</br>

   事件循环是异步的实现方式</br>

怎么理解这两句话。首先页面渲染的工作是在 渲染主线程中进行的,也就是所js是单线程的。既然是单线程的就会有以下问题:

1.比如js 运行到一半用户突然点击了某个按钮。那是继续执行剩下的js 还是 处理用户的交互?

2.不如js 中的 setTimeout 的计时一定准确吗?

带着这两个问题来看:

问题一:结论是继续执行剩下的代码 。 因为js 从浏览器的层源码了解。渲染主线程其实本身是一个死循环,每次循环都会成任务队列去取任务来进行处理。

标签:浏览器,渲染,js,循环,事件,进程,机制
From: https://www.cnblogs.com/pyyit/p/17122436.html

相关文章

  • php中foreach循环遍历二维数组
    最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题(因为......
  • 随堂笔记8-spring循环依赖
    spring循环依赖//A依赖了BclassA{publicBb;}//B依赖了AclassB{publicAa;}以上就会出现循环依赖,解决方法,二级三级缓存bean的生命周期:spring扫描cla......
  • 浏览器前端 JavaScript Worker使用
    主Js文件内容://注意://使用前先判断浏览器是否支持//Worker内的代码不可以操作DOM//不能跨域加载Worker的js文件if(window.Worker!==undefined){//新建Worker......
  • Kubernetes CSI插件注册(二)—— Kubelet CSI插件注册机制源码分析
    1、概述Kubernetes的CSIPlugin注册机制的实现分为两个部分,第一部分是sidecar"node-driver-registrar",第二部分是Kubelet的pluginManager,第一部分详细内容请参见《Kuber......
  • Redisson的锁重试和看门狗机制
    先看一下自己利用setnx写的简易分布式锁,有四个问题,1,不可重入2,不可重试3,超时自动释放(如果业务阻塞了,就算代码没执行完也会释放锁)4,集群模式下怎么办?@Override......
  • 10.11 循环处理的实现方法
    接下来,让我们继续解析汇编语言的源代码,看一下for循环及if条件分支等C语言程序的流程控制是如何实现的。代码清单10-8是将局部变量i作为循环计数器连续进行10次循环的C语言......
  • 【Vue】style和class 列表渲染 使用v-for进行循环 监控失效 双向数据绑定 过滤案例 事
    目录昨日回顾style和classclass属性的三种设置方法style属性的三种设置方法条件渲染列表渲染使用v-for进行循环循环数字循环字符串循环对象循环数组标签key值加速虚拟dom的......
  • 10.7 函数调用机制
     代码清单10-1中列出的C语言源代码中,有一个处理是在变量c中存储AddNum函数的返回值,不过在汇编语言的源代码中,并没有与此对应的处理。这是因为编译器有最优化功能。最......
  • 增强for循环
    增强for循环数组重点使用java5引入了一种主要用于数组或集合的增强型for循环。格式:for(声明语句:表达式){//代码句子}声明语句:声明新的局部变量,该变......
  • 干货|小程序的运行机制和原理
    ​本文为技术分享,带你走进小程序的神秘世界。​了解小程序的由来在小程序没有出来之前,最初微信WebView逐渐成为移动web重要入口,微信发布了一整套网页开发工具包,称之为JS-SD......