程序 執行緒的區別和聯絡是什麼?

2021-06-22 13:36:41 字數 550 閱讀 3728

程序是程式在計算機上的一次執行活動。當你執行乙個程式,你就啟動了乙個程序。顯然,程式是死的(靜態的),程序是活的(動態的)。

在windows中,進行cpu分配是以執行緒為單位的,乙個程序可能由多個執行緒組成,這時情況更加複雜,但簡單地說,有如下關係: 

匯流排程數<= cpu數量:並行執行 

匯流排程數》 cpu數量:併發執行 

並行執行的效率顯然高於併發執行,所以在多cpu的計算機中,多工的效率比較高。但是,如果在多cpu計算機中只執行乙個程序(執行緒),就不能發揮多cpu的優勢。 

這裡涉及到多工作業系統的問題,多工作業系統(如windows)的基本原理是:作業系統將cpu的時間片分配給多個執行緒,每個執行緒在作業系統指定的時間片內完成(注意,這裡的多個執行緒是分屬於不同程序的).作業系統不斷的從乙個執行緒的執行切換到另乙個執行緒的執行,如此往復,巨集觀上看來,就好像是多個執行緒在一起執行.由於這多個執行緒分屬於不同的程序,因此在我們看來,就好像是多個程序在同時執行,這樣就實現了多工.whoops,真繞口.

不知道樓主明白否?或者找個書看看就行了。這個得好好理解的,再程式設計中我覺得多執行緒還是很重要的。

程序執行緒的區別和聯絡

1 兩者都是多工程式設計方式,都能夠使用計算機的多核資源 2 程序的建立刪除消耗的計算機資源比執行緒要多 3 程序空間獨立,資料相互不干擾,有專門的ipc 程序間通訊 執行緒使用全域性變數進行通訊 4 乙個程序可以建立多個執行緒分支,兩者之間存在包含關係 5 多個執行緒公用程序的資源,在資源操作時往...

執行緒和程序的區別是什麼?

一 首先來一句概括的總論 程序和執行緒都是乙個時間段的描述,是cpu工作時間段的描述。下面細說背景 cpu ram 各種資源 比如顯示卡,光碟機,鍵盤,gps,等等外設 構成我們的電腦,但是電腦的執行,實際就是cpu和相關暫存器以及ram之間的事情。乙個最最基礎的事實 cpu太快,太快,太快了,暫存...

執行緒和程序的區別是什麼?

首先來一句概括的總論 程序和執行緒都是乙個時間段的描述,是cpu工作時間段的描述。下面細說背景 cpu ram 各種資源 比如顯示卡,光碟機,鍵盤,gps,等等外設 構成我們的電腦,但是電腦的執行,實際就是cpu和相關暫存器以及ram之間的事情。乙個最最基礎的事實 cpu太快,太快,太快了,暫存器僅...