当前位置: 首页 > wzjs >正文

.net网站开发岗位在线html5制作网站

.net网站开发岗位,在线html5制作网站,做好门户网站建设,青州网站定制浏览器的进程模型 浏览器进程:负责子进程的管理和用户交互网络进程:负责加载网络资源渲染进程:浏览器会为每一个标签页开启一个新的渲染进程。 渲染进程中的渲染主线程是我们最关注的,因为浏览器的事件循环就发生在这之中渲染主进…

浏览器的进程模型

  1. 浏览器进程:负责子进程的管理和用户交互
  2. 网络进程:负责加载网络资源
  3. 渲染进程:浏览器会为每一个标签页开启一个新的渲染进程。
    • 渲染进程中的渲染主线程是我们最关注的,因为浏览器的事件循环就发生在这之中
    • 渲染主进程不仅负责页面的渲染,还负责 JS 脚本的执行
    • 除此之外,渲染进程中还有交互线程,处理定时器的线程等

[!NOTE]

但是每个标签开一个渲染进程,会浪费太多的内存,因此 Chrome 浏览器在尝试以另外的模式(同一个主域名下的子网页共用一个渲染进程)来优化浏览器系统的性能。

如何理解 JS 的异步?

因为 JS 一门单线程语言,他执行在渲染主线程中,当我们遇到一些任务需要长时间等待时,比如定时器,如果他是同步的话,必须等待计时器结束,然后执行定时器的回调之后才能继续执行后续的任务,这样会白白等待太多时间,因此渲染主进程会将异步任务丢给其他线程去处理(比如定时器会调用操作系统来辅助操作),当其他线程的异步任务执行完后,会将回调包装成任务放到消息队列的末尾,等待渲染主线程去调度。

事件循环整体流程:

  1. 浏览器的主线程会进入无限的循环监听(不会结束的 for 循环)
  2. 首先检查调用栈是否为空
  3. 调用栈不为空则先执行当前调用栈中的任务
  4. 调用栈为空的话去消息队列中取所有的微任务来执行
  5. 执行完所有的微任务后,取一个宏任务来执行
  6. 接着循环上述过程

保证浏览器永不阻塞,最大程度保证单线程的流畅执行。

[!WARNING]

但是随着任务类型的愈加复杂,W3C 已不再采用宏任务的说法,而是将异步任务分为很多不同的类型,同一个类型的任务必须放在同一个队列,例如 Chrome 浏览器中将异步任务队列分为:

  • 延时队列:计时器到达后执行的回调任务,优先级 [中]
  • 交互队列:用户交互后产生的事件处理任务,优先级 [高]
  • 微队列:如 Promise、MutationObserver、queueMicroTask,优先级 [最高]

如何理解 JS 会阻塞渲染?

其实浏览器的渲染任务也是异步的,如何在执行 JS 脚本的过程修改了 DOM 的信息,那么浏览器也会把这个渲染任务放到消息队列里,等待事件循环机制取调度它。

为什么计时器不能做到精准计时?

受事件循环的影响,计时器的回调函数只能在渲染主线程空闲时运行,主线程在运行时可能有长时的任务,或者其他优先级更高的消息队列先执行完才能去调用延时队列中的计时器任务。

http://www.dtcms.com/wzjs/126060.html

相关文章:

  • 做营销网站建设名词解释seo
  • 济南建设监理协会网站广州seo优化排名推广
  • 周口学做网站网络市场调研
  • 爱站工具包官网目前较好的crm系统
  • 减肥网站如何做北京最新疫情
  • 怎么确认网站是什么语言做的合作seo公司
  • 一元夺宝网站怎么做推广普通话宣传海报
  • 香港主机南宁网站优化
  • 网站怎么做网站收录郑州发布最新通告
  • 专门做三国战纪的网站叫什么意思网站seo优化服务
  • 杭州模板网站制作方案艺人百度指数排行榜
  • 福州网站设计软件公司百度seo关键词排名s
  • 百度站长平台网页版上海网站建设制作
  • 河南能源企业网站建设搜索引擎优化的步骤
  • 做视频网站要什么格式好推广产品的渠道
  • 网站定制方案网站seo在线优化
  • 关于加强政务网站建设的通知移动优化课主讲:夫唯老师
  • 学校特色网站建设情况百度账号人工申诉
  • 免费域名网站推荐什么企业需要网络营销和网络推广
  • 成都公司做网站多少钱郑州网站技术顾问
  • 网站如何管理营销策划方案包括哪些内容
  • 英文版网站建设方案化妆品营销推广方案
  • 网站排名易下拉技巧关键词优化一般收费价格
  • 网页设计案例教程课后实训答案seo有名气的优化公司
  • 东莞网络公司哪家最好优化师
  • 南宁做网站方案促销策略
  • 科技有限公司可以做网站建设吗?百度经验官网入口
  • swift 网站开发杭州明开seo
  • 在什么网站上可以找设计兼职来做保定网站建设报价
  • 承接博彩网站建设seo学徒招聘