基本概念:

(1)并发:一个时间段内发生了一个以上的事件,称这几个事件之间具有并发性

(2)并行:指的是多个事件在同一个时刻点发生,称这几个事件具有并行性。

图示如下:

操作系统学习-01 :并发与并行_并行性

说明:

并发(concurrent)<---相对于--->顺序(sequential)

      顺序:上一个开始执行的任务完成后,当前任务才能开始执行

      并发:无论上一个开始执行的任务是否完成,当前任务都可以开始执行​

小结论:顺序执行可以确定任务完成的先后顺序,并行则无法确定完成的先后顺序。

并行(parallel) <---相对于----->串行(serial):

     串行:有一个任务执行单元,从物理上就只能一个任务、一个任务地执行

    并行:有多个任务执行单元,从物理上就可以多个任务一起执行

(也就是说,在任意时间点上,串行执行时必然只有一个任务在执行,而并行则不一定。)

前者关注的是任务的抽象调度、后者关注的是任务的实际执行,并行一定会允许并发。  

总结:

  并行指的是不同的线程同时使用不同的CPU资源

  并发指的是不同的线程之间交替使用同一个CPU资源