大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Java面试题之并行和并发有什么区别?,希望能够帮助大家进步!!!
在我们应聘的过程中,会有人问你,并行和并发他们之间是怎样的区别呢?虽然学过这些知识,但是没有进行整理,猛地一问也许你会回答不上来,所以在学习过程中我们要不断去整理所学的知识,进行系统化,才会有更加清晰的脉络。
那么今天为大家整理了
并行和并发的区别?
并发:一个处理器可以同时处理多个任务。这是逻辑上的同时发生。
并行:多个处理器同时处理多个不同的任务。这是物理上的同时发生。
有一个清晰地比喻:
并发:一个人同时吃三个苹果。并行:三个人同时吃三个苹果。
图文并茂:
并发(concurrency):
指同一时刻只能够执行一条指令,但是多条指令被快速的进行切换,给人造成了它们同时执行的感觉。但在微观来说,并不同同时进行的,只是划分时间段,分别进行执行。
并行(parallel):
在同一时刻,有多条指令在多个处理器上同时执行。
这部分内容还是比较好理解的。到此结束!
谢谢大家,请批评指正!