并行性和并发性的区别

前段时间被别人问起关于内核并发性的问题,当时随便说了一下,但后来细想,我还真不知道什么是并发性,回想一下当年在学校里学操作系统这门课程的时候,这两个概念都是一知半解的,更别说这么几年过去了,更加就模糊了。

网上搜了一大堆资料,下面来整理一下思路!

所谓并行性(parallelism)是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重叠,就存在并行性。严格来讲,把两个或多个事件在同一时刻发生的并行性叫做同时性(simultaneity);而把两个或多个事件在同一时间间隔内发生的并行性叫做并发性(concurrency)位并行加法为例,由于存在着进位信号的传播延迟时间,全部位加法结果并不是在同一时刻获得的,因此并不存在同时性,而只存在并发性的关系。如果有个存储器模块能同时进行读出信息,则属于同时性。

并行的事件或活动一定是并发的,反之并发的事件或者活动未必就是并行的。并行性事并发性的一个特例。

并发性描述的其实是两个事件在一个时间间隔内发生,但未必会同时进行,也有可能会在某一时间重叠区域中同时进行,这就要看这个时间间隔如何定义了。而并行性体现在同一时刻上不同的事件都正在进行着。比如,两个人,一部电话,时间8:00-8:10这个时间段内,两个人都想打电话体现了前面所说的并发性,但是只有一部电话,谁先来谁用,就不可能出现两个人同时打电话的情况。

所以,同一时间间隔内发生,但不同时进行的情况在内核中会出现很多,通常在资源有限的情况下会体现得更明显。

参考:http://sse.tongji.edu.cn/arch/arch_course/architecture/chapter1/lecture3/htm/lecture3_1.htm

你可能感兴趣的:(工作,活动)