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

時間 2023-06-28 19:15:02

1樓:風利小

1、功能不同。

程序是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。

執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。

2、工作原理不同。

在早期面向程序設計的計算機結構中,程序是程式的基本執行實體;在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令、資料及其組織形式的描述,程序是程式的實體。

執行緒是獨立排程和分派的基本單位。執行緒可以為作業系統核心排程的核心執行緒,如win32執行緒;由使用者程序自行排程的使用者執行緒,如linux平台的posix thread;或者由核心與使用者程序,如windows 7的執行緒,進行混合排程。

3、作用不同。

程序是作業系統中最基本、重要的概念。是多道程式系統出現後,為了刻畫系統內部出現的動態情況,描述系統內部各道程式的活動規律引進的乙個概念,所有多道程式設計作業系統都建立在程序的基礎上。

通常在乙個程序中可以包含若干個執行緒,它們可以利用程序所擁有的資源。在引入執行緒的作業系統中,通常都是把程序作為分配資源的基本單位,而把執行緒作為獨立執行和獨立排程的基本單位。

程序的特徵:

1、動態性:程序的實質是程式在多道程式系統中的一次執行過程,程序是動態產生,動態消亡的。

2、併發性:任何程序都可以同其他程序一起併發執行。

3、獨立性:程序是乙個能獨立執行的基本單位,同時也是系統分配資源和排程的獨立單位;

4、非同步性:由於程序間的相互制約,使程序具有執行的間斷性,即程序按各自獨立的、不可預知的速度向前推進。

5、結構特徵:程序由程式、資料和程序控制塊三部分組成。

多個不同的程序可以包含相同的程式:乙個程式在不同的資料集裡就構成不同的程序,能得到不同的結果;但是執行過程中,程式不能發生改變。

2樓:達興老師聊教育

程序和執行緒的區別為:

一、指代不同。

1、程序:事物發展變化或進行的過程。

2、執行緒:實際執行時的路線。

二、側重點不同。

1、程序:程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位。

2、執行緒:執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位。

三、管理方式不同。

2、執行緒:執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的位址空間,乙個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。

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

3樓:微言悚聽

1、程序是資源分配的最小單位,執行緒是資源排程的最小單位。

2、執行緒是在程序下執行的。乙個程序可以包含多個執行緒。

3、程序有自己的獨立位址空間,每啟動乙個程序,系統就會為它分配位址空間。而執行緒是共享程序中的資料的,使用相同的位址空間。

4、同一程序下不同執行緒間資料容易共享,不同程序間資料很難共享。

程序和執行緒的區別

4樓:生活小主

程序和執行緒的區別如下:

1、兩者的本構關係。

程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位。

執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源。

2、獨立關係。

乙個執行緒可以建立和撤銷另乙個執行緒;同乙個程序中的多個執行緒之間可以併發執行。

相對程序而言,執行緒是乙個更加接近於執行體的概念,它可以與同程序中的其他執行緒共享資料,但擁有自己的棧空間,擁有獨立的執行序列。

3、作業系統資源管理方式。

程序和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程序有獨立的位址空間,乙個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是乙個程序中的不同執行路徑。執行緒有自己的堆疊和區域性變數。

但執行緒之間沒有單獨的位址空間,乙個執行緒死掉就等於整個程序死掉,多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

程序和執行緒的區別

5樓:小葉子愛教育

程序和執行緒的區別如下:

1、根本區別。

程序是作業系統資源分配的基本單位,而執行緒是任務排程和執行的基本單位。

2、開銷方面。

程序之間切換開銷大,每個程序都有獨立的**和資料空間程式上下文;執行緒之間切換開銷小,執行緒可以看做輕量級的程序,同一類執行緒共享**和資料空間,每個執行緒都有自己獨立的執行棧和程式計數器pc。

3、所處環境。

在作業系統中能同時執行多個程序程式;而在同乙個程序程式中有多個執行緒同時執行通過cpu排程,在每個時間片中只有乙個執行緒執行。

4、記憶體分配。

系統為每個程序分配不同的記憶體空間;而對執行緒而言,除cpu外,系統不會為執行緒分配記憶體執行緒所使用的資源來自其所屬程序的資源,執行緒組之間只能共享資源。

5、包含關係。

執行緒是程序的一部分,所以執行緒也被稱為輕權程序或者輕量級程序。

Linux程序與執行緒的區別和聯絡

程序中可包含多個執行緒,最少1個,程序可控制程序內線程的執行暫停及結束,執行緒可共享程序全域性變數,程序與程序是單獨個體,相互不能直接訪問各自執行緒及全域性變數 什麼是執行緒?是程序中執行的一條路徑,是系統排程的最小單位。什麼是程序?是正在執行的程式,是系統分配資源的最小單位。執行緒與程序之間有什麼...

android程序和執行緒到底有什麼區別

程序 是乙個具有獨立功能的程式關於某個資料集合的一次執行活動。程序是系統進行資源分配和排程的乙個獨立單位。可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體,是乙個 執行中的程式 不只是程式的 還包括當前的活動。執行緒 執行緒是程序的乙個實體,是cpu排程和分 派的基本單位,它是比程序更小的...

CPU單執行緒和雙線程是什麼意思,cpu的執行緒是什麼意思?

1 單執行緒 就是程序只有乙個執行緒。單執行緒在程式執行時,所走的程式路徑按照連續順序排下來,前面的必須處理好,後面的才會執行。單執行緒處理的優點 同步應用程式的開發比較容易,但由於需要在上乙個任務完成後才能開始新的任務,所以其效率通常比多執行緒應用程式低。如果完成同步任務所用的時間比預計時間長,應...

剛和鐵的區別是什麼,鋼鐵和鐵的區別是什麼?

生鐵是含碳量在2 4.3 的鐵合金,鋼是含碳量在0.03 2 之間的鐵合金,鐵就是鐵,一種金屬單質 碳含量不同 具體是多少我也不知道 鋼鐵和鐵的區別是什麼?鋼和鐵的區別就是含炭量,冶金工業通常分為黑色冶金工業和有色冶金工業。爐料中的多個品種均屬於黑色冶金,主要包括鐵 生鐵 鋼和鐵合金等。鋼鐵中均含有...

喜歡和愛的區別是什麼,愛和恨的區別是什麼?

喜歡是一類人,愛是乙個人。喜歡是請ta吃飯,愛是為ta做法.喜歡和愛的區別,別被花言巧語所蒙蔽。感情有兩種狀態,一種是喜歡,一種是愛。有人覺得喜歡和愛是一樣,都是對別人有好感。的確,都是有好感沒錯,可是啊,這好感的程度卻是完全不一樣的。喜歡和愛,是有區別的,喜歡是放肆,而愛是克制。有區別的 喜歡乙個...