並行和併發

2021-08-27 09:36:57 字數 880 閱讀 6762

併發性是指兩個或多個事件在同一時間間隔內發生。同時性是指兩個或多個事件在同一時刻發生。二者的概念:幷發的實質是乙個物理cpu(也可以多個物理cpu)在若干道程式之間多路復用,併發性是對有限物理資源強制行駛多使用者共享以提高效率。併發性是關於軟體過程分解成程序、執行緒並處理相關的效率、原子性、同步和排程問題。實現幷發技術的關鍵之一是如何對系統內的多個活動(程序)進行切換。並行性指的是兩個或兩個以上的事件或活動在同一時刻發生。在多道程式環境下,並行性使多個程式同一時刻可在不同cpu上同時執行。

並行性和併發性的區別:並行的時間或者活動一定是併發的,但是反之併發的時間或者活動未必是並行的。並行性是併發性的特例,而併發性是並行性的拓展。實行並行性的緣故,由於計算機和外部的裝置不匹配,輸入和輸出極大地影響了效率。類如一台計算機的記憶體裡只有乙個程式在執行,該程式還不能處理的他為擁有的資料,並且只有在他獲得資料後他可以繼續執行下一步操作,延續這個程式必須等待輸入或輸出。既然這個程式控制著個計算機,那麼計算機也必須等待。使得乙個計算機等待時間要遠超過他處理資料實花的時間。為啥倆個程式不可以同時放進記憶體呢?一旦如此,程式a等待資料時,處理器就可以轉向程式b。還可以繼續推廣,有倆個或更多的程式裝入記憶體以便更好的利用記憶體。一般來說,裝入記憶體的程式越多,處理器的利用率也就越高。

那麼計算機是如何進行處理的呢?處理器在乙個機器週期中捕獲並執行單個指令。如果處理器在同一時刻只能處理一條指令,那麼他是不可能同時處理倆條程式。因此,儘管多道程式可以共享記憶體,但是只有乙個是活躍的。並行性是指「在同一時刻」,沒有處理器能夠同時執行多個程式。併發性是指「在一段時間內」乙個處理器可以併發的處理多個程式。

簡言之:併發:是指多個事件在同一時間間隔內發生,是一種邏輯上的同時發生。並行:是指多個事件在同一時刻同時進行,是物理上的同時發生。通常是指多個cpu在同一時刻處理不同事件。並行的事件一定是併發的,但併發不一定是並行的。

併發和並行

併發和並行的區別 乙個處理器同時處理多個任務和多個處理器或者是多核的處理器同時處理多個不同的任務。併發和並行的區別就是乙個處理器同時處理多個任務和多個處理器或者是多核的處理器同時處理多個不同的任務。前者是邏輯上的同時發生 simultaneous 而後者是物理上的同時發生 併發性 concurren...

併發和並行

並發行和並行性的區別可以用饅頭做比喻。前者相當於乙個人同時吃三個饅頭和三個人同時吃乙個饅頭。今天聽乙個學長說的,感覺挺形象的!併發性 concurrence 指兩個或兩個以上的事件或活動在同一時間間隔內發生。併發的實質是乙個物理cpu 也可以多個物理cpu 在若干道程式之間多路復用,併發性是對有限物...

併發和並行

是針對多處理器維度說的,每個處理器都有獨自計算的能力,多個處理器同時計算就是並行 是針對單處理器的維度說的,每個處理器在同時處理多個任務,其實準確的說,並不是同時執行,只是多個任務直接切換的特別快,快到我們感覺不到任務的切換,使我們只是感覺到多個任務都在執行,所以也有人說巨集觀序列,微觀並行 並行好...