假设有三个任务:
任务A准备5分钟,等待10分钟
任务B准备2分钟,等待8分钟
任务C准备10分钟
串行Sequential:先做任务A,完成后再做任务B,然后再做任务所有的任务逐个完成,共耗时:15 + 10 + 10 = 35分钟
并发Concurrent:先做任务A,准备了5分钟后,在等待A完成的这段时间内开始做任务B,任务B准备了2分钟后,在等待B完成的这段时间内开始做任务C,,十分钟后任务C结束。共耗时 5 + 2 + 10 = 17分钟
并行Parallel:三个任务同时开始,总耗时取决于需要时间最长的那个任务,共耗时:15分钟
并行可以提高事物的处理效率,即一段时间内可以处理或完成更多的事情。
从硬件角度来说,如果是单核CPU,一个处理器一次只能执行一个线程的情况下,处理器可以使用时间片轮转技术,可以让CPU快速的在各个线程之间进行切换,对于用户来说,感觉三个线程在同时执行。如果是多核CPU,可以为不同的线程分配不同的CPU内核。