java GC-垃圾收集 并行收集和并发收集

并发与并行的概念
并行:在同一时刻,有多个程序在多个处理器上运行(每个处理器运行一个程序)。
也可以理解为多个处理器同时处理多个不同任务。

并发:在同一cpu上同时运行多个程序。在微观上不是真正的同时,因为处理器是在各个程序之间来回切换的,只能说在宏观上看来是同时运行的。

并发,就好比一个人同时吃多个苹果,每个苹果咬一口来回切换,并行则是多个人吃多个苹果,每个人吃一个。概念上,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。

垃圾收集中并行收集和并发收集的区别

并行收集Parallel
就是指多条垃圾收集的线程并行工作(不是真正的同时一起工作,而是在多个线程之间切换,只是宏观上看来是同时在工作),这个时候其它用户线程都处于暂停状态。

并发收集Concurrent
指用户线程和垃圾收集线程同时运行(但并不一定是并行的,可能会交替执行),在垃圾收集线程运行时,用户线程在另一个线程上继续运行,并发收集不会使其它的用户进程暂停。

posted @ 2020-08-15 21:24  TidalCoast  阅读(289)  评论(0编辑  收藏  举报