浏览器线程总结

94 阅读1分钟

浏览器线程总结

GUI渲染线程

  • 负责渲染浏览器页面,解析html,css,布局和绘制等
  • 当页面需要重绘/回流时,该线程就会执行
  • GUI渲染线程JS引擎线程是互斥的

JS引擎线程

  • 也被称为JS内核,负责处理JS脚本程序

事件触发线程

  • 归属于浏览器而不是JS引擎,控制事件循环
  • 对应事件符合条件被触发时,会将它排队到待处理队列的队尾,等待JS引擎的处理

定时器触发线程

  • setTimeout、setInterval所在线程
  • 注意,W3C在HTML标准中规定,规定要求setTimeout中低于4ms的时间间隔算为4ms。

异步http请求线程

  • XMLHttpRequest连接后的线程请求
  • 当检测到状态变更时,如果设置有回调函数,异步线程就产生状态变更,将回调放到事件队列中,再由JS引擎运行。