并行和并发

156 阅读1分钟
  1. 这两个概念容易混淆,他们都可以表示多个任务一起执行,偏重点有些不同,并发偏重多个任务交替进行,多个任务之间有可能还是串行的,而并行是真正意义上的同时执行。
  2. 严格意义上,并行的任务时是真实的同时执行,而对于并发来说,这个过程是交替的,一会儿运行A任务,一会儿运行B任务,系统会不停的在这两个任务之间切换。
  3. 一个系统如果只有一个cpu,而使用多进程或者多线程任务,在真实环境中不可能是真实并行的,毕竟一个CPU一次只能执行一条指令,这种情况下多进程或者多线程就是并发的,而不是并行的,真实的并行也只可能出现在多核CPU中。