浏览器中的进程与线程

本文详细介绍了浏览器中的进程与线程概念,包括并行处理、线程与进程的区别和联系,以及单进程和多进程浏览器的工作原理。讨论了单进程浏览器的不稳定、不流畅和不安全问题,以及多进程浏览器如何通过进程隔离提高稳定性、流畅性和安全性。最后,展望了未来面向服务的架构在浏览器中的应用。
摘要由CSDN通过智能技术生成

在介绍进程和线程之前,我们需要先了解下什么是并行处理,如果我们理解了并行处理的概念,那么再理解进程与线程之间的的关系会变得轻松很多。

并行处理

计算机中的并行处理就是同一时刻处理多个任务,比如我们要计算下面三个表达式的值并显示出结果。

A = 1+2
B = 20/5
C = 7*8

在编写代码的时候,我们可以把这个过程拆分成四个任务:

  • 任务一:计算A = 1+2
  • 任务二:计算B = 20/5
  • 任务三:计算C = 7*8
  • 任务四:显示最后计算的结果

正常情况下程序可以使用单线程来处理,也就是分四步按照顺序分别执行这四个任务。
如果采用多线程,会怎么样呢?我们只需分”两步走“:第一步,使用三个线程同时执行前三个任务;第二步,再执行第四个显示任务。
通过对比分析,你会发现用单线程执行需要四步,而使用多线程只需要两步,因此,使用并行处理能大大提升性能。

线程VS进程

多线程可以并行处理任务,但是线程是不能单独存在的,需要进程来启动和管理,那么什么是进程呢?实际上一个进程就是一个程序的运行实例,具体就是启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的运行环境叫进程。
我们将前文并行处理中提到的计算过程用下图来对比:
在这里插入图片描述
从图中可以看出,线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率。
总结来说,进程与线程之间的关系有以下四个特点:

1、进程中的任意一线程执行出错都会导致整个进程的崩溃
我们可以模拟以下场景:

A = 1+2
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值