Java虛擬機7:垃圾收集(GC)-2(並行和並發的區別)


1.並發編程下

這兩個名詞都是並發編程中的概念,在並發編程的模型下的定義:

  • 並發:是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程序間切換)運行多個程序。
  • 並行:是多個或同時一個cpu上,每個cpu運行一個程序。

打個比方,並發,就像一個人(cpu)喂2個孩子(程序),輪換着每人喂一口,表面上兩個孩子都在吃飯。
並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

並行和並發並不是兩個互斥的概念。

2.垃圾收集器下

在談論垃圾收集器的上下文語境中,可以這么理解這兩個名詞:

1、並行Parallel

多條垃圾收集線程並行工作,但此時用戶線程仍然處於等待狀態

2、並發Concurrent

指用戶線程與垃圾收集線程同時執行(但並不一定是並行的,可能會交替執行),用戶程序在繼續運行,而垃圾收集程序運行於另一個CPU上

 

轉載地址:http://www.cnblogs.com/xrq730/p/4839245.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM