浏览器进程与JS单线程

目录

浏览器进程

渲染进程下的线程

JS引擎线程

异步任务

 WebWorkder独立线程


浏览器进程

  • 浏览器主进程
  • 网络进程
  • GPU进程
  • 多个渲染进程(每个Tab页就是一个渲染进程)
  • 多个插件进

渲染进程下的线程

  • JS引擎线程
  • UI渲染线程
  • 事件触发线程
  • 定时器线程
  • http请求线程

JS引擎线程

单线程,事件循环机制

同步任务 -> 微任务 -> 宏任务

无论是同步任务还是异步任务,都是在主线程执行

异步任务

  宏任务

  • setTimeout、setInterval、setImmediate(node环境)
  • xhr(发送网络请求)
  • 事件回调callback

  微任务

  • Promise.then(),.then中的逻辑
  • process.nextTick(node环境)

 WebWorkder独立线程

不会造成js多线程,js还是单线程

它是操作系统级别的线程

不能访问DOM,BOM

可以执行网络操作(http请求,webesocket)

   应用场景

如果你有一些处理密集型任务要执行,但不希望他们都在主线程钟运行(这可能会减慢浏览器/UI线程)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值