并发
一个单核CPU在同一时刻只能有一条指令执行,但多个线程被快速的轮换执行,使得在宏观上具有多个线程同时执行的效果,但在微观上并不是同时执行的,它只能把CPU运行时间划分成若干个时间段, 再将时间段分配给各个线程执行
简单来讲:一个处理器同时处理多个任务, 同一时间间隔处理
并行:
一个以上的CPU 或者 一个CPU有多核, 当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行
简单来讲:多个处理器 或者 多核的处理器同时处理多个任务, 同时处理
另类理解
首先这个理解仅限于不懂cpu,对上面知识不懂的可以看这个,但是这个也仅仅是帮助你理解,但真正的记忆点,还是需要记忆名词的,因为面试官老问:
闪电侠都知道吧,闪电侠跑起来非常快,假如,我们让闪电侠做几件事情,比如1、救一个人,2、帮忙送快递,3、帮助老人过马路;
我们要求闪电侠以最快的速度做这些事情,结果我们都没看见他动,这三件事已经做好了,但是他再怎么快,他也是一件事情一件事情做的,尽管我们感受不是特别明显,但确实如此,这就是并发;
OK,那什么是并行呢?我们假设赋给了闪电侠一个新的超能力,无线复制,并且复制出的闪电侠,每个都有闪电侠的速度,那么我们同时让三个闪电侠分别去做这三件事情,那是不是比一个闪电侠要快的多呢?这个就是并行;