你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。
并发的关键是你有处理多个任务的能力,不一定要同时。
并行的关键是你有同时处理多个任务的能力。
并发和并行的区别在于能否“同时”处理任务。
比如多线程处理任务:
多线程程序在一个核的cpu上运行,就是并发。每个被分配到时间片的线程才可以运行,其他线程等待时间片。
多线程程序在多个核的cpu上运行,就是并行。每个线程同时占用各自核cpu的时间片运行。