併發與並行的區別

2021-09-20 06:49:49 字數 659 閱讀 6939

當有多個執行緒在操作時,如果系統只有乙個cpu,則它根本不可能真正同時進行乙個以上的執行緒,它只能把cpu執行時間劃分成若干個時間段,再將時間段分配給各個執行緒執行,在乙個時間段的執行緒**執行時,其它執行緒處於掛起狀態.這種方式我們稱之為併發(concurrent).

當系統有乙個以上cpu時,則執行緒的操作有可能非併發.當乙個cpu執行乙個執行緒時,另乙個cpu可以執行另乙個執行緒,兩個執行緒互不搶占cpu資源,可以同時進行,這種方式我們稱之為並行(parallel)。

在併發環境時,多執行緒不可能真正充分利用cpu,節約執行時間,它只是以」掛起->執行->掛起」的方式以很小的時間片分別執行各個執行緒,給使用者以每個執行緒都在執行的錯覺.在這種環境中,多執行緒程式真正改善的是系統的響應效能和程式的友好性.

在並行環境中, 乙個時刻允許多個執行緒執行,這時多執行緒程式才真正充分利用了多cpu的處理能力, 節省了整體的執行時間.在這種環境中,多執行緒程式能體現出它的四大優勢:充分利用cpu,節省時間,改善響應和增加程式的友好性.

併發和並行的區別就是乙個處理器同時處理多個任務和多個處理器或者是多核的處理器同時處理多個不同的任務。

前者是邏輯上的同時發生(simultaneous),而後者是物理上的同時發生.

併發與並行區別

併發當有多個執行緒在操作時,如果系統只有乙個cpu,則它根本不可能真正同時進行乙個以上的執行緒,它只能把cpu執行時間劃分成若干個時間段,再將時間 段分配給各個執行緒執行,在乙個時間段的執行緒 執行時,其它執行緒處於掛起狀。這種方式我們稱之為併發 concurrent 並行 當系統有乙個以上cpu時...

區別 併發與並行

所有的併發處理都有排隊等候,喚醒,執行至少三個這樣的步驟.所以併發肯定是巨集觀概念,在微觀上他們都是序列被處理的,只不過資源不會在某乙個上被阻塞 一般是通過時間片輪轉 所以在巨集觀上看多個幾乎同時到達的請求同時在被處理。如果是同一時刻到達的請求也會根據優先順序的不同,而先後進入佇列排隊等候執行。併發...

並行與併發的區別

併發性和並行性的區別可以用饅頭做比喻。前者相當於乙個人同時吃三個饅頭,而後者相當於三個人同時吃乙個饅頭。併發性 concurrence 指兩個或兩個以上的事件或活動在同一時間間隔內發生。併發的實質是乙個物理cpu 也可以多個物理cpu 在若干道程式之間多路復用,併發性是對有限物理資源強制行使多使用者...