如何理解并发,并行,串行

并发:

  在操作系统中,指一段时间中有多个程序处在已启动到运行完毕之间,且这些程序都在同一个处理器上运行。其实并发不是真正的‘同时进行“,只是cpu把一个时间段划分成几个时间分段,然后在这几个时间分区之间来回切换,由于cpu的处理速度非常快,只要时间间隔处理得当,用户感觉就是多个应用程序在同时进行

  特点:同一个时间段内可以做多个事情;但是多个任务之间是互相抢占cpu资源的。

并行:

  当系统有一个以上cpu时,当一个cpu执行一个线程时,另一个cpu可以执行另一个进程,两个进程互不抢占cpu资源,可以同时进行,称之为并行;决定并行的因素不是cpu的数量,而是cpu的核数,一个多核cpu也可以并行。适合科学计算,后台处理等弱交互场景。

  特点:同一个时间点做了多个事情;任务与任务之间互不抢占资源。

串行:

  一个时间点内cpu只执行一个任务

  特点:相对于并行的概念,同一个时间点只能执行一个任务,执行完了才能执行下一个任务。

posted @ 2020-09-19 16:53  宇枫  阅读(786)  评论(0编辑  收藏  举报