程序和執行緒的區別

2023-02-25 21:45:27 字數 823 閱讀 9505

1樓:生活小主

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

1、兩者的本構關係。

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

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

2、獨立關係。

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

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

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

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

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

什麼是執行緒?試述執行緒與程序的區別。(在計算機作業系統裡)

程序有兩個屬性,一是資源分配單位,另一個是排程單位。而現在的作業系統都是多道程式的思想,多道程式思想要想系統效率高,則併發的力度要大,也就是說系統中併發執行的程序越多越好,但程序是資源分配的單位,程序之間的切換需要更改所需資源,因此程序切換太頻繁,則系統開銷的時間就越大,因而為了即提高併發力度,又不...

什麼是程序(Process)和執行緒(Thread)?區別是什

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於 簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒.執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體...

處理器六核十二執行緒和八核十六執行緒有啥區別

一 核心數不同 1 六核十二執行緒 cpu核心數量為六顆。2 八核十六執行緒 cpu核心數量為八顆。二 執行緒數量不同 1 六核十二執行緒 cpu執行緒為12執行緒,最多可以模擬12個核心。2 八核十六執行緒 cpu執行緒為16執行緒,最多可以模擬16個核心。三 速度不同 1 六核十二執行緒 cpu...