什么是并发

并发是指,在同一时刻,只可以有一条指令执行,但是可以是多个交替执行使整个流程在宏观上看起来有同时执行的,但是实际上在微观上并不是同步执行的。
举个简单的例子,销售员在商场卖衣服,对于不同的顾客,有的顾客询问衣服的价格,有的顾客询问衣服的质量,还有的顾客询问衣服的号码,一个销售员需要轮流回复顾客的问题,这就叫做并发,一个销售员做不到同时回复多个顾客。
6905457705a53724cf29b2articlex.png

什么是并行

并行是指,在同一时刻,有多条指令在多个处理器上同时执行,无论是在宏观还是在微观上来看,都是同步执行的。
简单的例子,同样是销售员卖衣服,并行可以理解为,多个销售员针对多个顾客,一对一服务,同时回复多个顾客二点问题,这就是并发同步进行。
35546099015a53721083dbcarticlex.png

并发和并行对比

并发的动机:在计算能力恒定的情况下处理更多的任务, 就像我们的大脑, 计算能力相对恒定, 要在一天中处理更多的问题, 我们就必须具备多任务的能力. 现实工作中有很多事情可能会中断你的当前任务, 处理这种多任务的能力就是你的并发能力。

并行的动机:用更多的CPU核心更快的完成任务. 就像一个团队, 一个脑袋不够用了, 一个团队来一起处理一个任务。


标题:Java中并发和并行
作者:XxwGit
地址:http://xxwgit.cn/solo/articles/2020/01/17/1579227541683.html