Java虚拟机7:垃圾收集(GC)-2(并行和并发的区别)

1.并发编程下

这两个名词都是并发编程中的概念,在并发编程的模型下的定义:

  • 并发:是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为cpu要在多个程序间切换)运行多个程序。
  • 并行:是多个或同时一个cpu上,每个cpu运行一个程序。

打个比方,并发,就像一个人(cpu)喂2个孩子(程序),轮换着每人喂一口,表面上两个孩子都在吃饭。
并行,就是2个人喂2个孩子,两个孩子也同时在吃饭。

并行和并发并不是两个互斥的概念。

2.垃圾收集器下

在谈论垃圾收集器的上下文语境中,可以这么理解这两个名词:

1、并行Parallel

多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态

2、并发Concurrent

指用户线程与垃圾收集线程同时执行(但并不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序运行于另一个CPU上

猜你喜欢

转载自blog.csdn.net/LMAKE_nbsp/article/details/86551229