进程和线程,并发和并行

线程和进程,并发和并行


一:进程与线程

1.什么是进程?

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

由于现在几乎大部分都是面向线程设计,总结起来就是进程是操作系统进行资源分配和调度的基本单位,是线程的容器,程序的实体。

2什么是线程?

线程是进程的实体,是程序执行流的最小单元。可以理解为线程在进程内部。

3线程与进程的关系

由于线程是在进程里面的,所以进程里面可以有多个线程,而线程里面不可能有进程。对于资源的关系:进程分配和调度资源,而线程分享利用进程的资源

二:并发与并行

1什么是并发?
并发性(concurrence) )是指两个或两个以上的事件或活动在同一时间间隔内发生。注意(在同一时间间隔并不代表同一时刻),并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序(或线程)之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。我们用的操作系统就是一个并发系统。

并发的发生必定多个线程不在同一时刻进行并且只有一个CPU资源,他们只是在相互抢夺资源,只不过速度特别快我们感受不到而已。因此多线程(进程)的并发表面上好像是一起进行的,但是他们的本质(也就是专业人士所说的微观上)一定不是同时进行的。多个程序在同时执行时就像CPU只给了一个名额,你抢到了别人就得等,抢不到你就得等别人。

2什么是并行?
并行就是多个CPU同一时刻给资源,有多个人可以抢到CPU,但是每一个CPU在某一具体时刻只能被一个人用。他与并发是不同的,并行的发生必定在同一时刻。

3并发与并行的关系?

并发和并行都是为了提高对CPU的利用率,提高CPU的效率,现在的CUP都采用多核就是为了实现并行,并行解决了总是利用一个CPU时热量过高,CPU负担过重的问题。

三:多线程在执行的时候到底是并发还是并行?

这个是由操作系统决定的,不是我们所能决定的。

参考资料:
《操作系统原理》

小编不专业,有错误请第一时间留言,谢谢!欢迎转载。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值