併發程式設計 1 初識概念

2021-10-04 12:50:07 字數 989 閱讀 5148

程序:是計算機中程式的一次執行活動,是計算機進行資源分配和排程的基本單位

執行緒:是計算機進行運算排程的基本單位,執行緒構成程序

**協程:微執行緒,協程是由使用者自己控制和排程的

畫個圖來解釋下:

cpu相當於皇上,每個程序相當於乙個宮殿,每個相當於乙個妃子,

皇上給每個宮殿撥款,每個宮殿內部再自己分配,所以宮殿是資源分配和排程的基本單位

皇上寵幸妃子,而不是寵幸宮殿,所以妃子是基本的運算單位

執行緒和程序的作用:皇上建造乙個宮殿,每個宮殿中養有妃子,妃子再去服侍皇上,所以宮殿是提供空間的,妃子們才是工作單位

執行緒之間的關係:乙個宮裡面有多個妃子,但是只有乙個老大,其他妃子都聽這個老大的,這個老大就是主線程,在同乙個宮裡,奴才和宮女這些妃子都是共享的,所以他們之間是協作關係,且資源共享;類推,因為每個宮是競爭關係,那不同宮中的妃子也是競爭關係,都想被皇上寵幸

程序之間的關係:皇上有很多後宮,每個後宮都想得到皇上的青睞,所以他們之間是競爭關係,每個宮的奴才和宮女不通用,所以程序之間的資料是隔離的

話不多說,直接上圖

原圖連線:

假設執行緒a:聽歌 執行緒b:寫** 執行緒c:吃東西

序列:聽完歌,再寫**,寫完**再吃東西,不同時進行

並行:聽這歌,吃著東西,寫著**,同時進行

併發:聽一下歌,敲乙個**,吃一口東西,每個時刻只做乙個動作(儲存狀態,切換)

初識併發程式設計 MPI

mpi是乙個跨語言的通訊協議,用於併發程式設計。mpi標準定義了一組具有可移植性的程式設計介面。解壓檔案 tar xzvf mpich 3.2.1.tar.gz cd mpich 3.2.1 usr local cellar mpich 改為你要安裝 mpich 的路徑 configure pref...

併發程式設計 1

目錄 程序 程序即正在執行的乙個過程。程序是對正在執行程式的乙個抽象。將應用程式對硬體資源的靜態請求變得有序化 併發 看起來是同時執行的 並行 真正做到了同時執行 多道技術 了解 空間復用 共用乙個記憶體條,每乙個程序都有自己獨立的記憶體空間,互不干擾,物理級別的隔離 時間復用 共用乙個cpu cp...

併發程式設計1

1 程序與程式 程序 正在執行的乙個過程。程序是對正在執行程式的乙個抽象 程式 是由程式設計師將自己的思維邏輯按照某種程式語言規範編寫下來的一堆字串,最終形成的一堆檔案 程序是由程式產生的,沒有程式就沒有程序 2 作業系統與程序 應用程式無法直接執行在硬體之上,一定要借助作業系統 所以程序是由作業系...