兩個程式是併發還是並行,什麼是程式的並行與併發執行

2022-12-22 07:50:02 字數 3080 閱讀 5132

1樓:網友

併發與並行是兩個既相似而又不相同的概念:併發性,又稱共行性,是指能處理多個同時性活動的能力;並行是指同時發生的兩個併發事件,具有併發的含義,而併發則不一定並行,也亦是說併發事件之間不一定要同一時刻發生。

併發和並行的區別僅僅在發生時刻的不同嗎?

舉個例子理解一下,如:

假設有a、b 兩個事件。

並行:如果a和b都在15:30同時發生,a 的執行時間為 5 分鐘,b 的執行時間為 8 分鐘。

在前5分鐘是並行,也包括併發,因為他們都是在同一時刻發生的。

併發:如果a在15:30發生,執行3分鐘後,b事件發生,在以後的5分鐘時間裡,a和b 是併發的。

併發,是在同乙個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程式間切換)執行多個程式。

並行,是每個cpu執行乙個程式。

打個比方,併發,就像乙個人(cpu)喂2個孩子(程式),輪換著每人喂一口,表面上兩個孩子都在吃飯。

並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

2樓:

1. 在時間軸上切一刀。

如果在橫切面上,執行的程序有2個,或者多個,就是併發。

如果只有乙個,可能是並行,也可能是序列。

2. 在時間軸上,擷取一段時間。

如果在這段時間內,只有乙個程序在執行,就是序列。

如果在這段時間內,有2個,或者多個程序在執行,就是並行。

什麼是程式的並行與併發執行

3樓:匿名使用者

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

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

區別:併發和並行是即相似又有區別的兩個概念,並行是指兩個或者多個事件在同一時刻發生;而併發是指兩個或多個事件在同一時間間隔內發生。在多道程式環境下,併發性是指在一段時間內巨集觀上有多個程式在同時執行,但在單處理機系統中,每一時刻卻僅能有一道程式執行,故微觀上這些程式只能是分時地交替執行。

倘若在計算機系統中有多個處理機,則這些可以併發執行的程式便可被分配到多個處理機上,實現並行執行,即利用每個處理機來處理乙個可併發執行的程式,這樣,多個程式便可以同時執行。

計算機中並行和併發的問題,現在計算機中程式是併發還是並行執行,和處理器是不是多核心的有沒有關係?謝謝

4樓:匿名使用者

並行是同時進行,併發是在一段時間內同時進行,就相當於並行是單位時間內的併發,現在電腦程式是併發進行的,多核是多個處理器位於乙個cpu內,只能是併發執行,如果有一天有了多cpu,就有可能實現並行執行了。。。當然,這僅僅是在單機上而言。。。

多執行緒是併發還是並行

5樓:射手寶寶要抱抱

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

簡而言之,乙個程式至少有乙個程序,乙個程序至少有乙個執行緒。

也就是說乙個程序可以有很多執行緒。

「並行」是指無論從微觀還是巨集觀,二者都是一起執行的,就好像兩個人各拿一把鐵鍁在挖坑,一小時後,每人乙個大坑。

j**a的多執行緒是併發還是並行

6樓:匿名使用者

所謂程序(process)就是一塊包含了某些資源的記憶體區域。作業系統利用程序把它的工作劃分為一些功能單元。程序中所包含的乙個或多個執行單元稱為執行緒(thread)。

程序還擁有乙個私有的虛擬位址空間,該空間僅能被它所包含的執行緒訪問。執行緒只能歸屬於乙個程序並且它只能訪問該程序所擁有的資源。當作業系統建立乙個程序後,該程序會自動申請乙個名為主執行緒或首要執行緒的執行緒。

程序並不是真正意義上的同時執行,而是併發執行。

乙個程序至少有乙個執行緒。執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序的區別在於每個獨立的執行緒有乙個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於乙個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用來實現程序的排程和管理以及資源分配。

多個執行緒或程序」同時」執行只是感官上的一種表現。事實上程序和執行緒是併發執行的,os的執行緒排程機制將時間劃分為很多時間片段(時間片),盡可能均勻分配給正在執行的程式,獲取cpu時間片的執行緒或程序得以被執行,其他則等待。而cpu則在這些程序或執行緒上來回切換執行。

微觀上所有程序和執行緒是走走停停的,巨集觀上都在執行,這種都執行的現象叫併發,但是不是絕對意義上的「同時發生。

併發和並行的區別

7樓:丫梨說

併發與並行是兩個既相似而又不相同的概念

併發性,又稱共行性,是指能處理多個同時性活動的能力。

並行是指同時發生的兩個併發事件,具有併發的含義。

而併發則不一定並行,也亦是說併發事件之間不一定要同一時刻發生。

併發的實質是乙個物理cpu(也可以多個物理cpu) 在若干道程式之間多路復用,併發性是對有限物理資源強制行使多使用者共享以提高效率。

並行性指兩個或兩個以上事件或活動在同一時刻發生。在多道程式環境下,並行性使多個程式同一時刻可在不同cpu上同時執行。

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

並行和併發概念的區別

造句兩個詞是是,用兩個是字和乙個還是的造句

沒有誰可以隨隨便便就可以創造乙個詞語,只有人民群眾在現實生活中有需要才會有新的詞語誕生,所以還是不要枉費力氣了。你是太聰明了,你真的是個天才。用兩個像字造句,最佳答案有哪些?1 那一串串的葡萄,紅的像瑪瑙,綠的像翡翠。2 春雨像牛毛一樣,又像銀針一樣。3 天上的白雲一會兒像小羊,一會兒像小魚,一會兒...

保監會兩個加強兩個遏制是指什麼兩個加強兩個遏制回頭看是指什麼

兩個加強 加強內部管控 加強外部監管。兩個遏制 遏制違規經營 遏制違法犯罪。中華人民共和國保險監督管理委員會,簡稱中國保監會,成立於1998年11月18日,商業保險的行政管理和監管部門,是 直屬正部級事業單位,根據 授權履行行政管理職能,依照法律 法規統一監督管理全國保險市場,維護保險業的合法 穩健...

如何判斷兩個燈泡是併聯還是串聯,怎麼看兩個燈泡是串聯還是併聯,要最簡單的方法

3.測量電壓法 用電壓表分別測出兩燈兩邊共四個接線柱間的電壓,若測出的電專壓只有兩種 一屬種的電壓為零 則兩燈是併聯的 若測出的電壓有三個或四個不同,則兩燈是串聯的 4.觀察銘牌與燈的亮度的方法 如果額定功率大的燈泡亮,則兩燈是併聯的 如果是額定功率大的燈泡暗,則兩燈是串聯的 5,電流測量法 將電流...