并行和并发有什么区别?

简介: 并行和并发有什么区别?
  • 并发:是指多个线程任务在同一个CPU上快速地轮换执行,由于切换的速度非常快,给人的感觉就是这些线程任务是在同时进行的,但其实并发只是一种逻辑上的同时进行;
  • 并行:是指多个线程任务在不同CPU上同时进行,是真正意义上的同时执行。

下面贴上一张图来解释下这两个概念:

上图中的咖啡就可以看成是CPU,上面的只有一个咖啡机,相当于只有一个CPU。想喝咖啡的人只有等前面的人制作完咖啡才能制作自己的开发,也就是同一时间只能有一个人在制作咖啡,这是一种并发模式。下面的图中有两个咖啡机,相当于有两个CPU,同一时刻可以有两个人同时制作咖啡,是一种并行模式。


我们发现并行编程中,很重要的一个特点是系统具有多核CPU。要是系统是单核的,也就谈不上什么并行编程了。


相关文章
|
5天前
并发与并行的区别(详细介绍)
并发与并行的区别(详细介绍)
716 0
|
7月前
并发和并行以及他们的区别
并发:         并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。         所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。 并行:         并行指的是多个任务同时执行的能力,每个任务都在独立的CPU上执行。并行通常用于同时处理独立任务,这些任务可以同时执行,而不需要相互等待或协同工作。 两者区别:         关键区别在于并发强调任务在时间上交替执行
42 0
|
5天前
|
调度 数据库 计算机视觉
并行和并发的区别(详细)
并行和并发的区别(详细)
|
9月前
|
并行计算 调度
多线程的并发和并行
多线程的并发和并行
72 0
|
5天前
|
机器学习/深度学习 分布式计算 负载均衡
并发与并行
并发与并行
32 0
|
7月前
并行,并发?
并行,并发?
16 0
|
10月前
|
存储 并行计算 安全
并发和并行的区别
并发和并行的区别
|
Java
28 看懂java线程,了解并行、并发一篇就够了(☆)
1 基本概念 程序(program):就是我们写的代码
126 0
|
Java
并发和并行
并发和并行
95 0
并发和并行