并行和并发
一、并行
并行的关键是有同时处理多个任务的能力,但只能先做一个,再做另一个
并行是加硬件可以解决
同一时间只能做一件事,多件事可以分多个时间去做
指在同一时刻,有多条指令在多个处理器上(cpu)同时执行
二、并发
并发的关键是有处理多个任务的能力,不一定要同时。
并发是代码性能优化可以解决
同一时间可以快速切换做多件事(同一时刻只能执行一个任务,但是快速切换给人错觉)
比如:吃饭,看电视,玩游戏
指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行
并发是不是一个线程,并行是多个线程?
–》并发和并行都可以是多个线程,这些线程同时被多个cpu执行,那就是并行;这些线程同时被一个cpu 轮流切换着执行,那就是并发
三、扩展:串行
串行:有一个任务执行单元,从物理上就只能一个任务、一个任务地执行,有个任务终止也得等着