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

2022-03-06 04:44:03 字數 5581 閱讀 1718

1樓:用心看世界的我

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒.

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。

但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。

但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。

這就是程序和執行緒的重要區別。

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

執行緒是程序的一個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒

自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬一個程序的其他的執行緒共享程序所擁有的全部資源.

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

2樓:碼農架構

[作業系統]程序和執行緒的區別

3樓:歐夕錯丁

通俗地講,程序就是你執行的程式,一般來說,一個程式就是一個程序;執行緒是程序產生的可以併發執行的任務,直觀上你是看不到它的。

什麼是程序(process)和執行緒(thread)?有何區別?

4樓:匿名使用者

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒.

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

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

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

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

5樓:匿名使用者

通俗地講,程序就是你執行的程式,一般來說,一個程式就是一個程序;執行緒是程序產生的可以併發執行的任務,直觀上你是看不到它的。

程序和執行緒有什麼區別?

6樓:xxp閃電的力量

1、性質不同

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

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

2、適用範圍不同

使用程序目的在於清晰地刻畫動態系統的內在規律,有效管理和排程進入計算機系統主儲存器執行的程式。

執行緒為作業系統核心排程的核心執行緒,如win32執行緒;由使用者程序自行排程的使用者執行緒,如linux平臺的posix thread;或者由核心與使用者程序,如windows 7的執行緒,進行混合排程。

7樓:匿名使用者

暈死,又是長篇累櫝

看到就暈

看作業系統的書去吧,有簡單的解釋

一般來講執行緒是最小的單位,程序是由執行緒組成的

8樓:尚學堂j**a學院

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

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

9樓:雁子

一個程式至少有一個程序, 一個程序至少有一個執行緒程序:獨立功能的程式,系統級排程和分配資源,有獨立的地址空間,多程序的程式要比多執行緒的的程式健壯,但在程式切換時,耗費資源較大,效率要差一些。

執行緒:是程序的一個實體,不擁有系統資源,cpu級排程和分派(更小),沒有單獨的地址空間,對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

多執行緒多執行緒:軟體或者硬體上實現多個程序併發執行的技術。

同意時間執行多於一個執行緒,進而提升整體處理效能。

執行緒同步

同步:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;

– 2、b按照**邏輯依次執行後,將結果給a;

– 3、a再繼續操作。

所謂同步,就是在發出一個功能呼叫時,在沒有得到結果之前,該呼叫就不返回,同時其它執行緒也不能呼叫這個方法。

死鎖(資料庫)

死鎖:– 1、a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;

– 2、b按照**邏輯依次執行中需要a的某個結果,示意a執行,等到a執行後再執行b後面的**,並將結果給a;

– 3、a必須等到b的結果才能繼續執行

n 於是問題出來了:a執行不下去,因為沒有b的結果;

b執行不下去,因為沒有a的返回結果,於是死鎖

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

10樓:啃芝士

程序和執行緒是什麼關係?有什麼區別?

11樓:単聲噵鎝瞹眛

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

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

程序和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程序有獨立的地址空間,一個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是一個程序中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的地址空間,一個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些。

但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程序。

1、簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒。

2、執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

3、 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

4、 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

5、從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

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

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

擴充套件資料:

區別程式

程式是指令和資料的有序集合,其本身沒有任何執行的含義,是一個靜態的概念。而程序是程式在處理機上的一次執行過程,它是一個動態的概念。

程式可以作為一種軟體資料長期存在,而程序是有一定生命期的。程式是永久的,程序是暫時的。

程序更能真實地描述併發,而程式不能;

程序是由程序控制塊、程式段、資料段三部分組成;

程序具有建立其他程序的功能,而程式沒有。

同一程式同時執行於若干個資料集合上,它將屬於若干個不同的程序,也就是說同一程式可以對應多個程序。

在傳統的作業系統中,程式並不能獨立執行,作為資源分配和獨立執行的基本單元都是程序。

執行緒程序和執行緒關係

通常在一個程序中可以包含若干個執行緒,它們可以利用程序所擁有的資源,在引入執行緒的作業系統中,通常都是把程序作為分配資源的基本單位,而把執行緒作為獨立執行和獨立排程的基本單位,由於執行緒比程序更小,基本上不擁有系統資源,故對它的排程所付出的開銷就會小得多,能更高效的提高系統內多個程式間併發執行的程度。

當下推出的通用作業系統都引入了執行緒,以便進一步提高系統的併發性,並把它視為現代作業系統的一個重要指標。

控制程序控制是程序管理中最基本的功能。它用於建立一個新程序,終止一個已完成的程序,或者去終止一個因出現某事件而使其無法執行下去的程序,還可負責程序執行中的狀態轉換。

12樓:陽光的弓谷芹

程序

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

執行緒

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

13樓:愛尚實訓_博雅

一個程式有一個或多個程序,一個程序有一個或多個執行緒.

程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

什麼是執行緒和程序區別

14樓:騰訊電腦管家

1) 簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒.

2) 執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

3) 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

4) 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

5) 從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

程序和執行緒的區別

程序和執行緒的區別如下 1 兩者的本構關係。程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位。執行緒是程序的一個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位 執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少...

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

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

這些程序是什麼,什麼是程序?

是天網防火牆軟體,用於抵禦黑客的攻擊。是microsoft windows 2003伺服器版作業系統的一部分,用於管理員關閉你的伺服器。後門木馬病毒 用於竊密,遠端控制。聲音控制程式。是microsoft office產品套裝的一部分。它可以選擇使用者文字輸入程式,和微軟office xp語言條。這...