首页 > 系统相关 >温习:进程和线程的区别

温习:进程和线程的区别

时间:2023-03-19 16:12:51浏览次数:30  
标签:插件 浏览器 渲染 线程 进程 温习 运行

进程和线程的区别: 1、定义不一样,进程是执行中的一段程序,线程是进程里执行中的任务,一个进程里可以有多个线程。 2、一个线程只能属于一个进程。 3、线程无地址空间,它包括在进程的地址空间里。 4、线程的开销或代价比进程小。   浏览器是多进程的。 多进程浏览器: 随着时代的发展,技术的变革,前端的崛起,以往的单进程浏览器肯定是要被淘汰了。 为了解决浏览器安全问题,引入了一个关键的安全技术——沙盒(SandBox)。 沙盒(英语:sandbox,又译为沙箱),计算机术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是给一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。 谷歌浏览器最早在2008年发布了多进程浏览器,我们先来看看谷歌多进程浏览器架构:

 

从上图可知,谷歌浏览器刚打开就开启了4个进程。

浏览器主进程:它是整个浏览器的主要进程,其它几个进程都是它的子进程,都由主进程来管理协调,浏览器的窗口,包含地址输入栏,数据缓存、设置等都是由它来管理的。 渲染进程:它的主要任务是负责把html、CSS、javascript转换为可与用户交互的网页,每打开一个标签页就会开启了一个渲染进程,每个渲染进程都会运行单独的排版引擎Blink和V8 Javascript执行引擎。为了代码执行的安全性,渲染引擎会运行在沙盒里。 插件进程:它负责插件的运行工作,插件进程和渲染进程类似,每启动一个插件,都会开启一个插件进程,同样为了安全性,插件进程也运行在沙盒里。 网络进程:它负责网络资源的加载工作,获取html、CSS、javascript等文件。 GPU进程:它负责使用显卡来加速处理计算请求,提高你网页浏览的体验,一般是涉及图形、视频的渲染。

 

 

标签:插件,浏览器,渲染,线程,进程,温习,运行
From: https://www.cnblogs.com/shidawang/p/17233413.html

相关文章

  • CAS 是一种什么样的同步机制?多线程下为什么不使用 int 而使用 AtomicInteger?
    CompareAndSwap,比较交换。可以看到synchronized可以保证代码块原子性,很多时候会引起性能问题,volatile也是个不错的选择,但是volatile不能保证原子性,只能在某些场合下使......
  • 关于java.lang.ThreadDeath线程发生场景及模拟代码测试
    当调用stop()方法时会发生两件事:1.即刻停止run()方法中剩余的全部工作,包括在catch或finally语句中,并抛出ThreadDeath异常(通常情况下此异常不需要显示的捕获),因此可能会导......
  • Java线程池详解
    1使用线程池的好处降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗;提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行;提高线程的......
  • 第二章 - 进程
    2.1进程的定义、组成、组织、特征:2.1.1进程的定义:程序:一个指令序列定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位单道程序:一次只能处理......
  • 如何实现主线程打印子线程的结果(阿里一面)
    1.自定义runnable接口实现类publicclassMySyncThreadTest{publicstaticvoidmain(String[]args)throwsException{CustomRunnablecRunnacle=new......
  • 我们说StringBuilder是线程不安全的,是什么原因呢?
    在Java中字符串属于对象,Java提供了String类来创建和操作字符串。String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪......
  • 多线程篇-交替打印
    背景有如下需求:线程1打印5次a,线程2打印5次b,线程3打印5次c,要求最后的结果是abcabcabcabc步骤简单情况先考虑简单的情况,然后进行拓展。简单版需求:线程1打印1,线程2......
  • Day 17 17.4 多进程实现
    多进程实现由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。multiprocessing包是Python......
  • Day 17 17.3 多线程实现之线程池
    多线程实现之线程池1引入系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量......
  • 两个线程交替打印26个字母
    代码#include<iostream>#include<thread>#include<mutex>#include<condition_variable>usingnamespacestd;mutexmtx;condition_variablecv;boolflag=t......