目录
浏览器进程
- 浏览器主进程
- 网络进程
- 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线程)