程序並行的原理

2021-10-06 21:08:28 字數 669 閱讀 6458

1、程式和程序區別:

程式,編譯好的二進位制檔案,儲存在磁碟中,不占用系統資源(cpu,記憶體。。。),如a.out

程序,活躍的程式,需要占用系統資源,

a.out可以在多個終端中執行,即同乙個程式可以載入為不同的程序,不同的程序互不影響。又如qt程式也可以同時開啟多個,但二者的id是不同的,

如下圖windows程序圖所示,同乙個程式被開啟了多次,pid程序號是不同的,即屬於不同的程序,linux下也是如此。

2、併發:並行執行

執行效率低

多道程式設計模式:win7,程式看起來能夠同時執行;

實質:cpu劃分成多個時間輪片;每個程序會劃分成多個任務片段。

cpu將時間片1給程序a的1任務片段,時間片1用完,觸發時鐘中斷,

cpu將時間片2給程序b的1任務片段,時間片2用完,觸發時鐘中斷,

cpu將時間片3給程序a的2任務片段,依次。。。。。

因為cpu的執行時納秒級的,人的反應是毫秒級的,所以使用者看起來是在同時執行多個程序,比如同時在聽歌,又在瀏覽網頁。

程序的並行和併發

目錄並行 並行是指兩者同時執行,比如賽跑,兩個人都在不停的往前跑 資源夠用,比如三個執行緒,四核的cpu 併發 併發是指資源有限的情況下,兩者交替輪流使用資源,比如一段路 單核cpu資源 同時只能過乙個人,a走一段後,讓給b,b用完繼續給a 交替使用,目的是提高效率。並行是從微觀上,也就是在乙個精確...

管理並行SQL執行的程序

本節介紹的並行執行功能可用於oracle資料庫企業版 本節介紹如何管理sql語句的並行處理。在此配置中,oracle資料庫可以將處理sql語句的工作分為多個並行程序。並行化表建立 中包含使用並行sql執行的示例。本節包含以下主題 有關使用並行提示的資訊,請參閱 oracle資料庫效能調整指南 關於並...

C 併發 並行 執行緒 程序

併發 併發是一種現象,我們每一時刻只能執行一種任務,但我們需要處理多個任務的時候,我們能夠快速的這些任務之間進行切換,一會執行a,一會執行b,這就是併發。併發是由處理器完成的,cpu在不同的程序之間執行排程,完成上下文切換,巨集觀上我們看到的是多個程序在同時的執行,但微觀上,其實不同的程序的執行的時...