进程与线程

定义:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。 程序是指令、数据及其组织形式的描述,进程是程序的实体。

 

定义:线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。

 

特点:进程(Process)是操作系统分配资源的最小单位。

           线程(Thread)是操作系统进行预算调度的最小单位。

 

 

我是这样理解进程线程的:

把奥运会比作是一个操作系统,各国国家队比作是一个个进程,每个参赛队员比作是一个线程

参赛名额是按照每个参赛的国家队分配的,参赛名额比作系统资源。

 

在奥运会进行期间(也就是系统运行期间),每个国家队都要参加不同的比赛项目,有的比赛项目是同时进行的,这时就需要这几个项目的运动员同时去参赛(多线程并行处理任务)。

 

有些项目例需要多个运动员按照顺序协作完成,例如4×100米接力,需要4个运动员按照顺序接力完成(接力棒可以看作是,持有线程才可以运行,类似多线程串行执行)。

 

 

再举个例子,电线:

电线外面是绝缘的橡胶皮,这个橡胶皮就是进程,橡胶皮包裹着的一根一根铜线就是线程

有的进程只有一个线程,就像只有一根铜芯的电线(单线程应用)。

而且负责导电这个工作的并不是进程(电线皮)而是线程(铜线导电)

没有线程的进程,也是不存在的,没有铜芯儿的电线只是一根普通的橡皮管

 

这个例子也非常形象的说明了线程进程之间关系

 

 

总结:

 

进程就是个容器,这个容器里装的都是线程。或者说,进程就是由线程组成的。

 

系统分配资源的时候不会单独给某个线程分配,而是把申请的资源一起分配给进程,进程内的线程们共享这些资源。

 

进程可以看作是一个正在运行的程序,哪怕这个程序是单线程的~~

转载于:https://my.oschina.net/u/574353/blog/3059939

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值