内容目录
定义
-
并发性
并发性是指计算机系统在一个时间间隔内完成两种或者两种以上工作。
并行和并发的差别
并行和并发的主要差别在于:并发性强调在同一时刻,而并发性强调在同一个时间间隔。
计算机实现并行性需要至少两个CPU才有可能实现并行,而并发只需要一个CPU就可以实现。
另外,广义上并行性是包括并发性的。如果有人非要和你讨论两个的区别再根据时刻和时间间隔来区分它们
软件开发中的并行性和并发性
在我们软件开发中,我们所说的并发和并行一般是指是否可以利用多CPU来提升我们系统的性能。
计算机系统结构中的并发性
在计算机系统结构中,我们所说的并发和并行一般是指指令并发执行,如何设计能够更好的让指令的并行性更高。
并行性等级
并行性实现
- 时间重叠
- 资源重复
- 资源共享
时间重叠
在并行性概念中引入时间因素。
即多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转来提高处理速度。
时间重叠原则上不要求重复的硬件设备,因此这样可以保证计算机系统具有较高的性能价格比。
资源重复
资源重复是为了提高资源的可靠性,一般实在关键部件上采用冗余技术。比如:在多核CPU计算机系统中,每个CPU都有自己的寄存器,指令集和缓存。这样,当一个CPU正在执行一个任务时,另一个CPU也可以独立的执行另一个任务,从而实现了资源重复。
资源共享
资源共享是指多个任务和活动共享同一个物理资源,但是通过某种机制来避免同时访问冲突,从而实现了并发性。
例如: 计算机系统多用户可能会尝试访问同一个内存区域或同一I/O设备。一般可以通过设置一个共享机制来访问设备访问冲突。