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

2023-06-06 11:45:03 字數 3563 閱讀 3758

1樓:麥兜範

執行緒與程序的區別歸納:

b.通訊:程序間通訊ipc,執行緒間可以直接讀寫程序資料段(如全域性變數)來進行通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

c.排程和切換:執行緒上下文切換比程序上下文切換要快得多。

d.在多執行緒os中,程序不是乙個可執行的實體。

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

2樓:小風愛廚房

1、功能不同。

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

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

2、工作原理不同。

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

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

3、作用不同。

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

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

程序的特徵:

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

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

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

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

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

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

3樓:小葉子愛教育

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

1、根本區別。

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

2、開銷方面。

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

3、所處環境。

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

4、記憶體分配。

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

5、包含關係。

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

4樓:生活小主

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

1、兩者的本構關係。

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

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

2、獨立關係。

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

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

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

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

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

程序與執行緒的區別

5樓:教育手冊

程序與執行緒的區別有開銷不同、所處環境不同、記憶體分配不同等。

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

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

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

程序與執行緒的關係

程序(process)和執行緒(thread)是作業系統的基本概念,但是它們比較抽象,不容易掌握。計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。

假定工廠的電力有限,一次只能供給乙個車間使用。也就是說,乙個車間開工的時候,其他車間都必須停工。背後的含義就是,單個cpu一次只能執行乙個任務。

程序就好比工廠的車間,它代表cpu所能處理的單個任務。任一時刻,cpu總是執行乙個程序,其他程序處於非執行狀態。乙個車間裡,可以有很多任務人。

他們協同完成乙個任務,執行緒就好比車間裡的工人。乙個程序可以包括多個執行緒,車間的空間是工人們共享的,比如許多房間是每個工人都可以進出的。這象徵乙個程序的記憶體空間是共享的,每個執行緒都可以使用這些共享記憶體。

ASP個人使用者程序和多人註冊使用者程序的本質區別在哪裡

其他的不用改 在id的獲取上改一下就行啦 id直接獲取登入人的id 簡單!一套裡面可以實現 在index.asp裡加上引數 假設裡面有兩個使用者id admin user那麼index.asp可以改成 index.asp?id admin 這就是admin的記事本 index.asp?id user...

開機後桌面的圖示和工作列都沒了,,連程序裡的Explorer

先到安全模式下防毒.調出任務管理器,點檔案,新建任務,輸入explorer.再不行就使用記事本等文字編輯器,重新用以下內容建立乙個顯示桌面.scf檔案。內容如下 shell mand 2 iconfile explorer.exe,3 taskbar mand toggledesktop儲存時把檔名...

陰和蔭什麼區別,樹蔭和樹陰的區別 陰和蔭的區別是什麼?

首先從字源上考察陰字。陰的繁體字是陰,這個字是乙個合體會意字。先說左邊的阝,這個字是阜字的偏旁形式,本意是山,特指沒有石頭的高大的土山。爾雅 釋地 大陸曰阜。說文 山無石者。釋名 土山曰阜,言高厚也。詩 小雅 如山如阜。其次是右邊的侌字,這個字是乙個形聲字,今字在上面,是聲部 雲字在下面,是形旁。這...