多執行緒的「併發」和「並行」

2021-07-27 14:42:16 字數 571 閱讀 1269

併發

在單核和多核都可存在,就是

同一時間有多個可以執行的程序

。但是在單核中同一時刻只有乙個程序獲得cpu,雖然巨集觀上你認為多個程序都在進行。

並行是指同一時間多個程序在微觀上都在真正的執行,這就只有在多核的情況下了。

多執行緒不是萬能的.它是併發的,也就是說,它在建立和切換資源時還要額外消耗資源.

而執行緒1執行完後執行緒2才能執行,這樣用多執行緒的效率是不如序列處理的.

多執行緒應用的領域一般是,

需要及時響應.比如你讓乙個執行緒處理大量資料.而在沒處理完時可以用另乙個執行緒來接收使用者的指令.

還有乙個是當採用多執行緒程式設計可以讓程式結構簡化時也可以用.比如流水線式的程式.。

應用的最多的是c/s(不過其實很多s不是用多執行緒而是用多程序)

另外有多核時,多執行緒可以呈偽並行執行(多執行緒所實現的機制一般稱併發)那就不是序列程式的效率能比的了。

單核 單程序中的  多個執行緒是不能並行,只是併發狀態。
程序擁有執行資源,多執行緒只是共享  程序資源

併發 多執行緒 非同步 並行

一 基本概念 併發 同時處理多件事情,在處理第乙個請求時同時響應第二個請求 同步 同步就是順序執行,執行完乙個再執行下乙個,需要等待 協調執行,同步 呼叫在繼續之前等待響應或返回值。如果不允許呼叫繼續,就說呼叫被阻塞 了 非同步 併發的一種形式,1 它採用 機制,避免產生不必要的執行緒。2 多執行緒...

UI多執行緒(1)並行和併發的

ui多執行緒 1 並行和併發的區別,鎖的種類,同步非同步,阻塞非阻塞。我不是怕忘了嗎 程序 單個cpu同一時刻只能執行乙個程序,單核的cpu可以雙開qq和網頁是因為時間碎片化的方法,就是不斷來回切換來達到假的多個程序同時進行的效果。執行緒 乙個程序可以包含多個執行緒,就是乙個程式可以有多個功能一樣。...

談談並行 併發或多執行緒

1.cpu的發展趨勢 核心數目依舊會越來越多,根據摩爾定律,由於單個核心效能提公升有著嚴重的瓶頸問題,普通的pc桌面在2018年可能回到24核心。2.併發和並行的區別 所有的併發處理都有排隊等候,喚醒和執行這三個步驟,所以併發是巨集觀的觀念,在微觀上他們都是序列被處理的,只不過資源不會在某乙個上被阻...