进程与线程

原文:https://www.jianshu.com/p/83c481a8bcef

进程( process ):当你的程序一旦被载入到内存中执行,那么你的这段程序就是一个进程。一个或多个进程组成系统中运行的应用程序。另外系统也会为应用的每一个进程分配独立的CPU和内存等资源。

进程是系统分配资源的最小单位。

线程 ( thread ):进程中执行的每一个任务指的就是线程,系统不会为其分配内存资源,各个线程共享进程拥有的内存资源。

进程和线程的关系:
1、内存对资源分配的最小单位是进程,而进程执行的最小单位是线程。
2、一个程序至少有一个进程,一个进程至少有一个线程。
3、线程是不能够脱离进程而独立运行的。
4、当你的进程运行时只产生了一个线程,被称为单线程,否则被称为多线程。(JavaScript是单线程,同一时间只能做一件事。它用途在于与用户交互,以及操作DOM,决定了它是单线程)
5、单线程和多线程都是指在同一进程中的单或多线程。
6、线程越多意味着你在一个进程中同时执行的任务也就越多。

举例:
1、假如进程为一家公司,那么线程指的是为公司服务的员工。
2、公司拥有自己独立的办公空间,员工共享公司的办公空间。
3、一家公司至少有一名员工,而员工也必须有一家自己所属的公司。
4、一位员工需要一件件的去完成工作,多位员工可以协调完成工作。
再来归纳下概念:
1、公司:进程
2、员工:线程
3、公司有一个员工:单线程
4、公司有多名员工:多线程
5、一位员工需要独立完成工作:单线程需要按照程序的顺序依次执行,也就是说只有前面的处理好,后面的才会得到执行。
6、多位员工协调完成工作:多个线程在进程中协作完成任务,从而可以最大程度的使用内存资源。
7、拥有独立办公空间:进程之间独立拥有系统所分配的内存资源
8、员工共享公司办公空间:线程没有自己的内存资源,多个线程共享进程的内存资源

CPU:CPU (中央处理器)是计算机的核心配件,它的作用相当于我们人类的大脑,负责对数据进行运算和处理。
内存:与CPU进行沟通的桥梁。数据只能通过内存这座桥梁到达CPU,前提是CPU为空闲状态,否在必须在内存这座桥梁上等待。

1、当内存不足时,系统会自动从硬盘上划分出一部分空间来扩充内存,这一部分内存就是常说的虚拟内存。虚拟内存的读写能力与真正的内存相差很远,所以当内存不足时,硬盘会一直响。
2、数据如果在内存当中由于某种原因未被释放或无法释放(该数据即是内存泄漏数据),势必会造成内存的浪费,由此造成内存运行速度减慢,甚至崩溃。
我们安装的应用都是在内存中运行的,然后在CPU中处理,如果没有内存,CPU无法接收到数据。

浏览器之所以能够打开并运行,是因为系统为其进程分配了CPU与内存资源。浏览器是多进程,每打开一个tab页,均被视为创建了一个进程(浏览器所有的空白tab页属于一个进程)。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 用户打开浏览器,其实就是打开了浏览器应用程序。那么什么是程序呢?我们常说浏览器是多线程的,JS 是单线...
    love丁酥酥阅读 3,567评论 0 6
  • PHP是单线程,还是多线程的呢?PHP是多进程,还是多线程的呢?...解决这些问题,首先必须先了解线程和进程。 备...
    JunChow520阅读 2,036评论 1 3
  • 内容大纲 1、操作系统概述1.1 OS定义及特征1.2 OS的发展 2、进程2.1 进程概念及特征2.2 进程的状...
    看看你的肥脸阅读 1,929评论 0 4
  • 操作系统-进程与线程 在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干个顺序进程,简称进程...
    帽子和五朵玫瑰阅读 904评论 0 0
  • 11.1进程的概念 进程的定义 进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程 精髓:正在执...
    龟龟51阅读 513评论 0 1