js在浏览器中运行机制
浏览器工作原理:
浏览器的网络流程,页面渲染的流程,js执行流程,web安全
浏览器的多进程架构
进程和线程
并行处理 能大大提升性能
多线程可以并行处理任务,但是线程不能单独存在的,它是由进程来启动和管理的。
一个进程就是一个程序运行实例,操作系统为一个程序创建一个内存,用来存放代码,运行数据和执行主线程,这样的运行环境叫进程。
线程依附于进程
1进程中任意一个线程执行出错,都会导致怎个进程崩溃
2线程之间可以共享数据
3当一个进程关闭后,操作系统会回收操作系统占用的内存
4 进程之间是的内容是相互隔离的(默认隔离)进程之间的通信ipc机制
单进程浏览器
1 不稳定:早期浏览器需要借助插件来实现的,插件最容易出现问题的,因为插件运行在浏览器中,所以一个插件会引起整个浏览器奔溃。
2 不流畅:所有页面喧嚷模块,js执行环境以及插件都运行在一个线程中(单进程有多线程),同一时刻只能由一个模块可以执行
3 不安全 :插件可以用c++c来编写,通过插件可以获取任意资源。(操作系统就是c++ c来写)
多进程浏览器时代(资源占用率高 解构体系比较复杂)
谷歌第一个发布了多进程架构
1解决不稳定问题:进程相互隔离,当一个插件崩溃时,只是一个进程有问题,其他进程不受影响。
2解决不流畅问题:js是运行在渲染进程中的,所以即使js堵塞来渲染