线程与进程
进程
进程:
进程的不同定义:
1)是程序的一次执行过程,是系统运行程序的基本单位
2)是一个程序及其数据在处理机上顺序执行时所发生的活动
3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”
-->进程实体 = 程序段 + 相关数据段 + PCB
注意:PCB是进程存在的唯一标志!
是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程
系统运行一个程序是一个进程从创建、运行最后结束的过程
1.硬盘是永久存储ROM,用户自己安装的各种软件基本上都存储在硬盘中
2.内存是临时存储RAM,所有的应用程序都需要进入到内存中执行
3.启动/结束程序的过程:
1)双击欲启动的应用程序A,应用程序A从硬盘中进入到内存中
2)应用程序A会消耗一些内存空间,并开始执行
3)在任务管理器中点击“结束进程”,实际上就是把进程从内存中清理出去了
线程
线程:
线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程(一个进程中也可以有多个线程,则该应用程序也可以称为多线程程序)
-->一个程序运行后至少有一个进程,一个进程中可以包含多个线程
-->进程:资源分配的基本单位
线程:调度的基本单位
CPU:中央处理器。对数据进行运算并能管理计算机中的软件及硬件
线程实例:
1.双击一个软件去运行该软件,该软件进入到内存中就是一个进程
2.软件运行之后,我们可以选取功能按钮去使用各种功能
例如:打开一个音乐软件,我们可以点击“下载”、“播放”、“搜歌”等按钮去使用相应的功能,我们点击一个功能按钮,计算机就会开启一条应用程序到CPU的执行路径,而CPU就可以通过该路径去执行功能,该路径就是线程
!!线程属于进程,线程是进程中的一个执行单元,负责程序的执行
单核心单线程CPU vs 四核心八线程CPU:
1.单核心单线程CPU
CPU在多个线程之间高速的切换,轮流执行多个线程
效率低、切换速度1/n毫秒
2.四核心八线程CPU
CPU的核数即一个CPU由多少个核心组成,其中核心数越多,CPU的运转速度就越快,性能就越好。对于同一个数据处理,一核CPU相当于只有1个人处理数据,双核CPU相当于有2个人一起处理同一个数据
有八个线程所以同时执行八个线程,八个线程在多个任务之间做高速的切换,速度是单线程CPU的八倍
多线程的好处:
1.效率高
2.线程与线程之间都是独立的,多个线程之间互不影响