並行(parallel)和併發(concurrency)的區別和聯絡
不同:
並行(parallel)是指同一時刻,兩個或兩個以上時間同時發生。
併發(parallel)是指同一時間間隔(同一段時間),兩個或兩個以上時間同時發生。
聯絡:
巨集觀上來說並行和併發都是同時處理多路請求的意思
併發:的實質是一個物理CPU(也可以多個物理CPU) 在若干道程式之間多路複用,併發性是對有限物理資源強制行使多使用者共享以提高效率。 並行性:指兩個或兩個以上事件或活動在同一時刻發生。在多道程式環境下,並行性使多個程式同一時刻可在不同CPU上同時執行。併發,是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程式間切換)執行多個程式。
特點:1.單處理器;2.邏輯上同時處理
並行,是每個cpu執行一個程式。
特點:1.多處理器,多核;2.物理上同時處理 打個比方。併發,就像一個人(cpu)喂2個孩子(程式),輪換著每人喂一口,表面上兩個孩子都在吃飯。並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。
用並行併發來分析一下具體問題: 在單處理機系統中,多道程式執行的特點是: 1.多道。記憶體中同時存放幾道相互獨立的程式。 2.巨集觀上並行。幾道程式同時進入系統,都處於執行狀態,它們先後開始執行,但是都沒有執行完畢。 3.微觀上序列。事實上,各道程式輪流使用CPU,交替執行程式。