1. 进程和线程
这些都是进程。拥有一定的资源(cpu,内存、磁盘等等)
进程详细解释:当我们启动一个程序时,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,这样的一个运行环境就叫进程。
线程:存在于进程内部,并执行其进程程序的部分功能。多线程可以提升进程的预算效率。
1.1 进程和线程的关系
(1)进程与进程之间的内容相互隔离;
每个进程只能访问自己占有的数据,避免线程之间相互读写数据。如果想要互相通信,走IPC机制。因为进程间的隔离,一个进程挂了,不会影响到其他进程。
(2)进程关闭后,操作系统会回收该进程所占用的内存;
当一个进程退出后,操作系统会回收该进程所申请的所有资源;即使其中任意线程因为操作不当导致内存泄漏,当进程退出时,这些内存也会被正确回收。
(3)进程中的各线程共享该进程的所有数据;
(4)进程中的任意一线程执行出错,都会导致整个进程的崩溃。
2. 浏览器单进程
2007年之前,浏览器都是单进程的。浏览器的所有功能模块都运行在同一个进程中。这些模块包括network、plugin、JS 运行环境、render和UI等。